第3章MATLAB矩阵分析与处理
手绘风格
特殊矩阵
通用的特殊矩阵
常用的产生通用特殊矩阵的函数有:zeros:产生全0矩阵(零矩阵)。ones:产生全1矩阵(幺矩阵)。eye:产生单位矩阵。rand:产生0~1间 均匀分布 的随机矩阵。randn:产生均值为0,方差为1的标准正态分布随机矩阵。
通用的特殊矩阵 用于专门学科的特殊矩阵
分别建立3×3、3×2和与矩阵A同样大小的零矩阵。
建立一个3×3零矩阵。zeros(3)
建立一个3×2零矩阵。zeros(3,2)
设A为2×3矩阵,则可以用zeros(size(A))建立一个与矩阵A同样大小零矩阵。A=[1 2 3;4 5 6]; %产生一个2×3阶矩阵Azeros( size( A ) ) %产生一个与矩阵A同样大小的零矩阵
(2) 、。命令如下:y=+sqrt()*randn(5)
建立随机矩阵:(1) 在区间[20,50]内均匀分布的5阶随机矩阵。x=20+(50-20)*rand(5)
reshape(A,m,n),它在矩阵总元素保持不变(存储结构不变)的前提下,将矩阵A重新排成m×n的二维矩阵。
用于专门学科的特殊矩阵 (1) 魔方矩阵
魔方矩阵有一个有趣的性质,其每行、每列及两条对角线上的元素和都相等。对于n阶魔方阵,其元素由1,2,3,…,n2共n2个整数组成。
MATLAB提供了求魔方矩阵的函数magic(n),其功能是生成一个n阶魔方阵。
将101~125等25个数填入一个5行5列的表格中,使其每行每列及对角线的和均为565。
M=100+magic(5)
(2) 范得蒙矩阵 范得蒙(Vandermonde)矩阵最后一列全为1,倒数第二列 为一个指定的向量,其他各列是其后列与倒数第二列的点乘积。
可以用一个 指定向量 生成一个范得蒙矩阵。在MATLAB中,函数vander(V)生成以向量V为基础向量的范得蒙矩阵。
例如,A=vander([1;2;3;5])即可得到上述范得蒙矩阵。
(3) 希尔伯特矩阵
使用一般方法求逆会因为原始数据的微小扰动而产生不可靠的计算结果。MATLAB中,有一个专门求希尔伯特矩阵的逆的函数invhilb(n),其功能是求n阶的希尔伯特矩阵的逆矩阵。
求4阶希尔伯特矩阵及其逆矩阵。命令如下:format rat %以有理形式输出H=hilb(4)H=invhilb(4)
在MATLAB中,生成希尔伯特矩阵的函数是hilb(n)。
(4) 托普利兹矩阵
托普利兹(Toeplitz)矩阵除第一行第一列外,其他每个元素都与左上角的元素相同。
toeplitz(x,y) :生成托普利兹矩阵的函数,它生成一个以x为第一列,y为第一行的托普利兹矩阵。这里x, y均为向量,两者不必等长。
toeplitz([1 2 3 4] , [ 1 6 7 8])
toeplitz(x):用向量x生成一个对称的托普利兹矩阵。例如T=toeplitz(1:6)
先建立5×5矩阵A,然后将A的第一行元素乘以1,第二行乘以2,…,第五行乘以5。
A=[17, 0, 1, 0, 15;
23, 5, 7, 14, 16;
4, 0, 13, 0, 22;
10, 12, 19, 21, 3;
11, 18, 25, 2, 19];
D=diag(1:5);
D*A %用D左乘A,对A的每行乘以一个指定常数
第3章MATLAB矩阵分析与处理 来自淘豆网www.taodocs.com转载请标明出处.