一、通用的特殊矩阵
1.zeros
函数:产生全0矩阵,即零矩阵。
调用格式:1⃣️zeros(m)
:产生mm零矩阵。
2⃣️zeros(m,n)
:产生mn零矩阵。
3⃣️zeros(size(A))
:产生与矩阵A同样大小的零矩阵。
>> A=zeros(2,3)
A =
0 0 0
0 0 0
>> zeros(size(reshape(A,3,2)))
ans =
0 0
0 0
0 0
2.ones
函数:产生全1矩阵,即幺矩阵。
3.eye
函数:产生对角线为1的矩阵。当矩阵是方阵时,得到一个单位矩阵。
4.rand
函数:产生(0,1)区间均匀分布的随机矩阵。
5.randn
函数:产生均值为0,方差为1的标准正态分布随机矩阵。
例:首先产生5阶两位随机整数矩阵A,再产生均值为0.6、方差为0.1的5阶正态分布随机矩阵B,最后验证(A+B)I=IA+BI(I为单位矩阵) 。
1⃣️rand()函数:产生(0,1)区间均匀分布的随机矩阵。
2⃣️fix(a+(b-a+1)*x):产生[a,b]区间上均匀分布的随机整数。
3⃣️randn函数:产生均值为0,方差为1的标准正态分布随机矩阵。
4⃣️a+bx:得到均值为a,方差为b^2的随机数。
>> A=fix(10+(99-10+1)*rand(5));
>> B=0.6+sqrt(0.1)*randn(5);
>> C=eye(5);
>> (A+B)*C==C*A+B*C
ans =
1 1 1 1 1
1 1 1 1 1
1 1 1 1 1
1 1 1 1 1
1 1 1 1 1
二、面向专门学科的特殊矩阵
1.魔方矩阵:
(1)由magic()
函数实现。
>> M=magic(3)
M =
8 1 6
3 5 7
4 9 2
(2)n阶魔方阵由1,2,3,…,n^2个整数组成,且每行、每列以及主、副对角线上各n个元素之和都相等。
(3)n阶方阵每行每列元素的和为(1+2+3+...+n^2)/n=(n+n^3)/2
。
(4)举例:产生8阶魔方阵,求其每行每列元素的和。
>> M=magic(8);
>> sum(M(1,:))
ans =
260
>> sum(M(:,1))
ans =
260
2.范德蒙矩阵
(1)函数vande(V)
生成以向量V为基础的范德蒙矩阵。
>> A=vander(1:5)
A =
1 1 1 1 1
16 8 4 2 1
81 27 9 3 1
256 64 16 4 1
625 125 25 5 1
3.希尔伯特矩阵
(1)由hilb(n)
函数生成。
>> format rat
>> H=hilb(4)
H =
1 1/2 1/3 1/4
1/2 1/3 1/4 1/5
1/3 1/4 1/5 1/6
1/4 1/5 1/6 1/7
4.伴随矩阵
(1)由compan(p)
函数生成。
>> p=[1,-2,-5,6];
>> A=compan(p)
A =
2 5 -6
1 0 0
0 1 0
5.帕斯卡矩阵
(1)由pascal(n)
函数生成。
>> format rat
>> P=pascal(5)
P =
1 1 1 1 1
1 2 3 4 5
1 3 6 10 15
1 4 10 20 35
1 5 15 35 70
>> inv(P)
ans =
5 -10 10 -5 1
-10 30 -35 19 -4
10 -35 46 -27 6
-5 19 -27 17 -4
1 -4 6 -4 1