7、矩阵的创建
阿里云国内75折 回扣 微信号:monov8 |
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6 |
目录
MATLAB中生成特殊矩阵的部分函数
一、希尔伯特Hilbert矩阵
希尔伯特Hilbert矩阵也称H阵其元素为Hij=1/(i+j-1)。由于它是一个条件数差的矩阵所以将它用来作为试验矩阵。
关于希尔伯特矩阵的指令函数如下
- hilb(n)用于生成一个n×n的希尔伯特矩阵。
- invhilb(n)用于生成一个n×n的希尔伯特矩阵的逆矩阵整数矩阵。
示例1生成3*3希尔伯特矩阵
A=hilb(3) %3*3希尔伯特矩阵
运行结果
示例2生成3*3希尔伯特矩阵的逆矩阵整数矩阵
B=invhilb(3) %希尔伯特矩阵的逆矩阵整数矩阵
运行结果
二、托普利兹Toeplitz矩阵
托普利兹Toeplitz矩阵由两个向量定义一个行向量和一个列向量。对称的托普利兹矩阵由单一向量来定义。
关于托普利兹矩阵的指令函数如下
- toeplitz(k,r)用于生成非对称托普利兹矩阵第1列为k第1行为r其余元素等于其左上角元素。
- toeplitz(c)用于用向量c生成一个对称的托普利兹矩阵。
示例3生成托普利兹矩阵
C=toeplitz(2:5,2:2:8)
运行结果
三、0~1间均匀分布的随机矩阵
在MATLAB中常用rand()函数产生0~1间均匀分布的随机矩阵其调用格式如下
- r = rand(n)产生维数为n×n的0~1间均匀分布的随机矩阵。
- r = rand(m,n)产生维数为n×m的0~1间均匀分布的随机矩阵。
- r = rand(m,n,p,...)产生维数为n×m×p的0~1间均匀分布的随机矩阵。
- r = rand(size(A))产生维数为n×m×p与矩阵A相同的0~1间均匀分布的随机矩阵。
示例4生成0~1间均匀分布的随机矩阵
D=rand(3)
E=rand([3,4])
F=rand(size(C))
运行结果
四、标准正态分布随机矩阵
在MATLAB中常用randn()函数产生均值为0、方差为1的随机矩阵其调用格式如下
- r = randn(n)。
- r = randn(m,n)。
- r = randn(m,n,p,...)。
- r = randn([m,n,p,...])。
- r = randn(size(A))。
- 其格式可参考上述rand()函数。
示例5生成标准正态分布随机矩阵
D=randn(3)
E=randn([3,4])
F=randn(size(C))
运行结果
五、魔方矩阵
在MATLAB中常用magic()函数产生魔方矩阵。魔方矩阵中每行、列和两条对角线上的元素和相等其调用格式如下
- M= magic(n)。
示例6生成魔方矩阵
A=magic(3)
B=magic(4)
C=magic(5)
D=sum(A)
E=sum(A')
运行结果
六、帕斯卡矩阵
在MATLAB中常用pascal()函数产生帕斯卡矩阵其调用格式如下
- A=pascal(n) 返回n阶的对称正定Pascal矩阵其中的元素是由Pascal三角组成的其逆矩阵的元素都是整数。
- A = pascal(n,1)返回由下三角的Cholesky因子组成的Pascal矩阵它是对称的所以它是自己的逆。
- A = pascal(n,2)返回pascal(n,1)的转置和交换形式。A是单位矩阵的立方根。
示例7生成帕斯卡矩阵
A=pascal(4)
B=pascal(3,2)
运行结果
七、范德蒙Vandermonde矩阵
在MATLAB中常用vander()函数产生范德蒙矩阵其调用格式如下
- A = vander(v)生成范德蒙矩阵矩阵的列是向量v的幂即A(i,j)=v(i)^(n-j)其中n=length (v)。
示例8生成范德蒙Vandermonde矩阵
A=vander([1 2 3 4])
B=vander([1;2;3;4])
C=vander(1:.5:3)
运行结果
注意vander()函数产生范德蒙矩阵输入向量可以使行向量或列向量。