1、Hadamard矩阵
Hadamard矩阵是由+1和-1元素构成的且满足Hn*Hn’=nI(这里Hn’为Hn的转置,I为单位方阵)n阶方阵。
>> hadamard(4)
ans =
1 1 1 1
1 -1 1 -1
1 1 -1 -1
1 -1 -1 1
2、Hankel矩阵:是指每一条副对角线上的元素都相等的方阵。
>> x=[1 2 3 4 5 6 7]
x =
1 2 3 4 5 6 7
>> hankel(x)
ans =
1 2 3 4 5 6 7
2 3 4 5 6 7 0
3 4 5 6 7 0 0
4 5 6 7 0 0 0
5 6 7 0 0 0 0
6 7 0 0 0 0 0
7 0 0 0 0 0 0
hankel(x,y):
返回一个m x n的Hankel矩阵,它的第一列向量为x,最后一行为向量y
>> x=[1 2 3 4 5 6 7]
x =
1 2 3 4 5 6 7
>> y=[7 6 5 4 3 2 2]
y =
7 6 5 4 3 2 2
>> hankel(x,y)
ans =
1 2 3 4 5 6 7
2 3 4 5 6 7 6
3 4 5 6 7 6 5
4 5 6 7 6 5 4
5 6 7 6 5 4 3
6 7 6 5 4 3 2
7 6 5 4 3 2 2
3、Pascal矩阵:
Pascal矩阵的第一行元素和第一列元素都为1,其余位置处的元素是该元素的左边元素加起上一行对应位置相加而得,如元素Ai,j=Ai,j-1+Ai-1,j。Ai,j表示第i行,第j列位置上的元素
>> pascal(4)
ans =
1 1 1 1
1 2 3 4
1 3 6 10
1 4 10 20
>> pascal(5)
ans =
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
4、Rosser矩阵
>> rosser
ans =
611 196 -192 407 -8 -52 -49 29
196 899 113 -192 -71 -43 -8 -44
-192 113 899 196 61 49 8 52
407 -192 196 611 8 44 59 -23
-8 -71 61 8 411 -599 208 208
-52 -43 49 44 -599 411 208 208
-49 -8 8 59 208 208 99 -911
29 -44 52 -23 208 208 -911 99
5、Wilkinson矩阵:Wilkinson特征值测试矩阵
>> wilkinson(3)
ans =
1 1 0
1 0 1
0 1 1
>> wilkinson(5)
ans =
2 1 0 0 0
1 1 1 0 0
0 1 0 1 0
0 0 1 1 1
0 0 0 1 2
6、Hilbert矩阵
也成为H阵,其元素,由于它是一个条件数差的矩阵,所以将它用来作为试验矩阵。
hilb(n):用于生成n x n的Hilbert矩阵
invhilb(n):用于生成n x n的Hilbert矩阵的逆矩阵整数矩阵。
>> a=hilb(3)
a =
1.0000 0.5000 0.3333
0.5000 0.3333 0.2500
0.3333 0.2500 0.2000
>> b=invhilb(3)
b =
9 -36 30
-36 192 -180
30 -180 180
可以看出Hilbert矩阵和他的逆矩阵都是对称矩阵。
7、Toeplitz矩阵
他由两个向量定义,一个行向量和一个列向量。对称的Toeplitz矩阵由单一向量来定义。
toeplizt(k,r):用于生成非对称Toeplitz矩阵,第一列为k,第一行为r,其余元素等于其左上角元素
toeplitz(c):向量c生成一个对称的Toeplitz矩阵
>> toeplitz(2:4,2:2:8)
ans =
2 4 6 8
3 2 4 6
4 3 2 4
>> toeplitz(2:8)
ans =
2 3 4 5 6 7 8
3 2 3 4 5 6 7
4 3 2 3 4 5 6
5 4 3 2 3 4 5
6 5 4 3 2 3 4
7 6 5 4 3 2 3
8 7 6 5 4 3 2
8、0~1间均匀分布的随机矩阵
r=rand(n):产生nxn的0~1间均匀分布的随机矩阵
r=rand(m,n):产生mxn的0~1间均匀分布的随机矩阵,r=rand(m,n,p.....):与前者类似、
r=rand(size(A)):产生与A相同的0~1间均匀分布矩阵
>> r=rand(3)
r =
0.7094 0.6797 0.1190
0.7547 0.6551 0.4984
0.2760 0.1626 0.9597
>> r=rand(3,4)
r =
0.3404 0.7513 0.6991 0.5472
0.5853 0.2551 0.8909 0.1386
0.2238 0.5060 0.9593 0.1493
>> a=[1 2;3 4]
a =
1 2
3 4
>> r=rand(size(a))
r =
0.2575 0.2543
0.8407 0.8143
9、标准正态分布随机矩阵
常用randn()函数产生均值为零、方差为1的随机矩阵
调用方式如下:
r=rand(n)
r=rand(m,n)
r=rand(size(A))
r=randn([m,n,......])
>> b=randn(3)
b =
-0.1924 -1.4023 -0.1774
0.8886 -1.4224 -0.1961
-0.7648 0.4882 1.4193
>> b=randn(3,4)
b =
0.2916 -0.8045 -0.2437 -1.1480
0.1978 0.6966 0.2157 0.1049
1.5877 0.8351 -1.1658 0.7223
>> b=randn([3,4])
b =
2.5855 -0.0825 -1.7947 0.1001
-0.6669 -1.9330 0.8404 -0.5445
0.1873 -0.4390 -0.8880 0.3035
10、Vandermonde矩阵
A=vander(V):生成Vandermonde矩阵,矩阵的列是向量v的幂,
>> vander([1 2 3 4])
ans =
1 1 1 1
8 4 2 1
27 9 3 1
64 16 4 1
>> vander([1 ;2 ;3 ;4])
ans =
1 1 1 1
8 4 2 1
27 9 3 1
64 16 4 1
11、魔方矩阵:每行,每列,两对角线上的元素和相等
>> a=magic(5)
a =
17 24 1 8 15
23 5 7 14 16
4 6 13 20 22
10 12 19 21 3
11 18 25 2 9