MATLAB学习笔记--- 特殊矩阵(2)

1. 通用的特殊矩阵

zeros:产生全0矩阵

ones:全1矩阵

eye: 单位矩阵

rand : 0~1之间均匀分布的随机矩阵

randn: 均值为0,方差为1的标准正态分布随机矩阵

调用格式

zeros(m):产生 m x m 零矩阵

zeros(m,n): 产生m x n 零矩阵

zeros(size(A)): 产生与矩阵A同样大小的矩阵

 

2.

(1)若想得到在任意[a , b]区间上均匀分布的随机数,

则 yi = a + (b - a)xi

例:其中xi是通过rand获得的一组随机数

>> x = 20 + (50 - 20)*rand(5)

 

x =

 

44.4417 22.9262 24.7284 24.2566 39.6722

47.1738 28.3549 49.1178 32.6528 21.0714

23.8096 36.4064 48.7150 47.4721 45.4739

47.4013 48.7252 34.5613 43.7662 48.0198

38.9708 48.9467 44.0084 48.7848 40.3621

 

(2)若已知正态分布随机数xi , 想的到均值、方差,则利用

yi = u + qxi (u为均值 , q为方差)

>> y = 0.6 + sqrt(0.1)*randn(5)

 

y =

 

0.8809 1.0549 0.5677 0.5905 0.3269

0.2373 0.7028 0.5236 0.5479 0.6245

0.2620 0.3613 0.7009 0.7985 0.2161

0.3440 1.0333 0.6989 0.9457 0.2479

-0.3311 0.0588 0.3265 0.9508 0.5978

 

3、

(1)魔方矩阵 magic( n )

每行每列及两条线上的元素之间和都相等

如:

>> m = 100 + magic(5)

 

m =

 

117 124 101 108 115

123 105 107 114 116

104 106 113 120 122

110 112 119 121 103

111 118 125 102 109

 

(2)范德蒙德矩阵 vander( V )

最后一列全为1,倒数第二列为一个指定的向量,其他各列是其最后列与倒数

第二列的乘积

>> A= vander([1;2;3;4])

 

A =

 

1 1 1 1

8 4 2 1

27 9 3 1

64 16 4 1

 

(3)希尔伯特矩阵 hilb( n )

>> h=hilb(4)

 

h =

 

1.0000 0.5000 0.3333 0.2500

0.5000 0.3333 0.2500 0.2000

0.3333 0.2500 0.2000 0.1667

0.2500 0.2000 0.1667 0.1429

 

>> 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)求·希尔伯特矩阵的逆 invhilb( n )

>> H= invhilb(4)

 

H =

 

16 -120 240 -140

-120 1200 -2700 1680

240 -2700 6480 -4200

-140 1680 -4200 2800

format short %恢复默认输出格式

 

(5)特普利矩阵 toeplitz( x , y )

除第一行和第一列外,其他每个元素都与作上角的元素相同

>> T = toeplitz(1:6)

 

T =

 

1 2 3 4 5 6

2 1 2 3 4 5

3 2 1 2 3 4

4 3 2 1 2 3

5 4 3 2 1 2

6 5 4 3 2 1

 

(6)伴随矩阵 compan( p)

>> p = [1,0,-7,6];

>> compan(p)

 

ans =

 

0 7 -6

1 0 0

0 1 0

(7) 帕斯卡矩阵 pascal( n )

由杨辉三角形组成的矩阵

>> pascal(6)

 

ans =

 

1 1 1 1 1 1

1 2 3 4 5 6

1 3 6 10 15 21

1 4 10 20 35 56

1 5 15 35 70 126

1 6 21 56 126 252

 

你可能感兴趣的:(MATLAB)