文档介绍:第5章 MATLAB数值计算
特殊矩阵
矩阵分析
矩阵分解与线性方程组求解
数据处理与多项式计算
傅立叶分析
数值微积分
常微分方程的数值求解
非线性方程的数值求解
稀疏矩阵
特殊矩阵
1. 矩阵的对角元素
(1)提取矩阵的对角线元素
设A为m×n矩阵,diag(A)函数用于提取矩阵A主对角线元素产生一个具有min(m,n)个元素的列向量。
diag(A)函数还有更进一步的形式diag(A,k),其功能是提取第k条对角线的元素。
(2)构造对角矩阵
设V为具有m个元素的向量,diag(V)将产生一个m×m对角矩阵,其主对角线元素即为向量V的元素。
diag(V)函数也有更进一步的形式diag(V,k),其功能是产生一个n×n(n=m+)对角阵,其第k条对角线的元素即为向量V的元素。
先建立5×5矩阵A,然后将A的第1行元素乘以1,第2行乘以2,…,第5行乘以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,2,3,4,5]);
D*A
2. 矩阵的三角阵
(1)下三角矩阵
求矩阵A的下三角阵的MATLAB函数是tril(A)。
tril(A)函数也有更进一步的一种形式tril(A,k),其功能是求矩阵A的第k条对角线以下的元素。
(2)上三角矩阵
在MATLAB中,提取矩阵A的上三角矩阵的函数是triu(A)和triu(A,k),其用法与提取下三角矩阵的函数tril(A)和tril(A,k)完全相同。
特殊矩阵的生成
1. 魔方矩阵
函数magic(n),其功能是生成一个n阶魔方阵。
将101~125等25个数填入一个5行5列的表格中,使其每行每列及对角线的和均为565。
命令如下:
B=100+magic(5)
2. 范得蒙矩阵
函数vander(V)生成以向量V为基础向量的范得蒙矩阵。
3. 希尔伯特矩阵
生成希尔伯特矩阵的函数是hilb(n)。MATLAB中,有一个专门求希尔伯特矩阵的逆的函数invhilb(n),其功能是求n阶的希尔伯特矩阵的逆矩阵。
4. 托普利兹矩阵
生成托普利兹矩阵的函数是toeplitz(x,y),它生成一个以x为第1列,y为第1行的托普利兹矩阵。这里x, y均为向量,二者不必等长。
5. 友矩阵
pan(P),生成多项式P的友矩阵。P是一个多项式的系数向量,高次幂系数排在前,低次幂排在后。
6. 帕斯卡矩阵
函数pascal(n)生成一个n阶的帕斯卡矩阵。
(x+y)5的展开式。
在MATLAB命令窗口,输入命令:
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
其次对角线上的元素1,5,10,10,5,1即为展开式的系数。
矩阵分析
矩阵结构变换
1. 矩阵的转置
转置运算符是单撇号(')。
2. 矩阵的旋转
矩阵的旋转利用函数rot90(A,k),功能是将矩阵A旋转90º的k倍,当k为1时可省略。
3. 矩阵的左右翻转
对矩阵A实施左右翻转的函数是fliplr(A)。
4. 矩阵的上下翻转
对矩阵A实施上下翻转的函数是flipud(A)。
矩阵的逆与伪逆
1. 矩阵的逆
求一个矩阵的逆非常容易。求方阵A的逆可调用函数inv(A)。
用求逆矩阵的方法解线性方程组。
命令如下:
A=[1,2,3;1,4,9;1,8,27]; b=[5,–2,6]';
x=inv(A)*b
一般情况下,用左除比求矩阵的逆的方法更有效,即x=A\b。
2. 矩阵的伪逆
MATLAB中,求一个矩阵伪逆的函数是pinv(A)。
求A的伪逆,并将结果送B。
命令如下:
A=[3,1,1,1;1,3,1,1;1,1,3,1];
B=pinv(A)
求矩阵A的伪逆。
在MATLAB命令窗口,输入命令:
A=[0,0,0;0,1,0;0,0,1];
pinv(A)