第三章 matlab数学运算
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
7.矩阵的简化化梯形式: Ir * 矩阵A的简化化梯形式为 0 * ,其中 I r 为r阶单位矩阵。 Matlab 中用函数rref()来计算矩阵的简化梯形形式 例3-7 求矩阵A1=[1,2,3 ;4,5,6;7,8,9]和A2=[1,2,3 ;1,1,5;7,8,9;10,11,12]的正交空间Q。 Q=rref(A1) R=rref(A2)
例3-16 求矩阵A=[6,12,19;-9,-20,-33;4,9,15]的特 征值和特征向量 [V,D]=eig(A);
例3-17 用求特征值的方法解方程。 3x5-7x4+5x2+2x-18=0 p=[3,-7,0,5,2,-18]; A=compan(p); %A的伴随矩阵 x1=eig(A) %求A的特征值 x2=roots(p) %直接求多项式p的零点
X= [ k1+k2+5*k3] [ -2*k1-2k2-6k3] [ k1] [ k2] [ k3]
即
1 1 5 2 2 6 X k1 1 k2 0 k3 0 0 1 0 0 0 1
3.奇异分解: 奇异值分解就是将 m n 的矩阵A分解为U*S*V,其中U n n 为 m m 的酉矩阵,V为 的酉矩阵,S为 m n ,并 可以表示如下:
0 S ,其中 diag (1, 2 ,n ),r=rank(A), 0 0
i 0(i 1,2,, , r) Matlab中奇异值是有函数svd()实现
>> A=[1 1 1 1 1;3 2 1 1 -3;0 1 2 2 6;5 4 3 3 -1]; >> format rat >> B=null(A , ′r′) %求基础解系
B= 1 -2 1 0 0 1 -2 0 1 0 5 -6 0 0 1
>> syms k1 k2 k3 %定义符号参数 >> X=k1*B(:,1)+k2*B(:,2)+k3*B(:,3)
>> A=[2 1 1;3 1 2;1 -1 0]; >> b=[3 3 -1] ′; >> det(A) %检验A是否可逆 ans = 2 系数矩阵行列式值等于2,是可逆的, 则可以用矩阵相除来求解. >> X=A\b X= 1 2 -1 即是原方程组的解.
3.1.2 矩阵分解
矩阵分解:把矩阵分解成比较简单或对它性质比较熟悉的若干 矩阵的乘积的形式;
例3-1 求向量x=[1,2,3,4,5]和y=[3,0,5,2,2]间的距离 x=[1,2,3,4,5]; y=[3,0,5,2,2]; norm(x,1); %1-范式 norm(x,inf); %∞—范数 norm(x); e=x-y; norm(e);
2.矩阵的秩: 矩阵中线性无关的列(行)向量个数,称为列(行)秩。 Matlab中用函数rank()来计算矩阵的秩。 例3-2 求向量eye(4),magic(4)和A=[1,2,3 ;4,5,6;7,8,9]的秩。 rank(eye(4)); rank(magic(4)); rank(A);
6.矩阵的正交空间: 矩阵A的正交空间Q满足QTQ=I,且矩阵Q与A具有相同的列 基底,Matlab中用函数orth()来计算正交空间Q。 例3-6 求矩阵A1=[1,2,3 ;4,5,6;7,8,9]和A2=[1,2,3 ;4,5,6;7,8,9;10,11,12]的正交空间Q。 Q=orth(A1) R=orth(A2)
第3章
数学运算
主要内容:
①Байду номын сангаас阵运算; ②矩阵元素运算;
3.1 矩阵运算
3.1.1 矩阵分析
1.向量范式定义:
x x x
1
n
k 1
xk
2 k
2
k 1 n
x
n
1/ 2
k 1
xk
向量的3种常用范数及其计算函数 在MATLAB中,求向量范数的函数为: (1) norm(V)或norm(V,2):计算向量V的2—范数。 (2) norm(V,1):计算向量V的1—范数。 (3) norm(V,inf):计算向量V的∞—范数。
10x1 7 x2 3x1 2 x2 6 x3 5 x1 x2 5x3
7 4 6
10 7 0 x1 7 0 2.5 5 x2 2.5 0 0.1 6 x 6.1 3
9.矩阵空间之间的角度: 矩阵空间之间的角度代表具有相同行数的两个矩阵线性 相关程度,夹角越小代表线性相关度越高。Matlab中用函 数subspace()来计算矩阵空间之间的角度。 例3-9 求矩阵A1=[1,2,3 ;4,5,6;7,8,9]和A2=[1,2,3 ;1,1,5;7,8,9;10,11,12]的正交空间Q。 Q=subspace(A1)
例3-18.求解方程组
x1 x2 3 x3 x4 1 3 x1 x2 3 x3 4 x4 4 x 5x 9 x 8x 0 2 3 4 1
解 先用MATLAB函数null求出对应的齐次线性方程组的基础解 系,再利用其系数矩阵的上、下三角阵求出方程组的一个特解, 这样即可得到该方程组的通解,程序如下: >> >> >> >> >> >> A=[1 1 -3 -1;3 -1 -3 4;1 5 -9 -8]; b=[1 4 0] ′; format rat C=null(A , ′r′); %求基础解系 [L,U]=lu(A); %A=LU,L为上三角阵,U为下三角阵 X0= U\(L\b) %用LU求出一个齐次方程的特解
为方程组的通解,其中k1,k2,k3为任意实数.
2.齐次线性方程组的解结构 例3-12.求解方程组
2 x1 x2 x3 3 3x1 x2 2 x3 3 x x 1 1 2 解 在MATLAB中输入系数矩阵及常数列向量,并检验系数矩阵 是否逆,所用命令及结果如下
ans = 1 0 0 0
0 1 0 0
-9 4 0 0
由阶梯形矩阵可知R(A)=2<3,所以齐次线 性方程组有非零解,即有无穷多个解. 该齐次线性方程组通解的参数形式为
x 9 y k 4 z 1
其中k为任意实数.
例3-11.用基础解系表示齐次线性方程组
>> syms k1 k2 >> X=k1*C(:,1)+k2*C(:,2)+X0 运行结果为
X0 =
0 0 -8/15 3/5 即
X= [ 3/2*k1-3/4*k2] [ 3/2*k1+7/4*k2] [ k1-8/15] [ k2+3/5]
3/ 2 3/ 41 0 X k1 3/ 2 k2 7 / 4 0 1 0 8 /15 0 1 3/ 5
X = B/A
右除
3-by-3的例子
10 7 0 x1 7 3 2 6 x2 4 5 1 5 x 6 3
10 7 0 x1 7 0 0.1 6 x2 6.1 0 2.5 5 x 2.5 3 10 7 0 x1 7 0 2.5 5 x2 2.5 0 x 6.2 0 6 . 2 3
4.矩阵的行列迹: 矩阵的迹定义为对角元素之和。Matlab中用函数trace( )来计算矩阵的行列式。 例3-4 求向量eye(4),magic(4)和A=[1,2,3 ;4,5,6;7,8,9]的行列式。 trace(eye(4)); trace(magic(4)); trace(A);
5.矩阵化零矩阵: 对于非满秩矩阵A,若存在矩阵Z使得AZ=0且ZZ=I,则称 矩阵Z为矩阵A的化零矩阵。Matlab中用函数null()来计 算矩阵的化零矩阵。 例3-5 求矩阵A=[1,2,3 ;4,5,6;7,8,9]的化零矩阵。 Z=null(A) 验证AZ=0的具体代码如下: AZ=A*Z 验证ZTZ的具体代码如下: ZTZ=Z’*Z
线性方程组的解结构
齐次线性方程组的解结构
非齐次线性方程组的解结构
1.齐次线性方程组的解结构 例3-10.判别方程组
x 2 y z 0 2 x 5 y 2 z 0 x 4 y 7z 0 x 3 y 3z 0
有无非零解,若有,写出其通解. 解 在MATLAB中输入该方程组的系数矩阵A并将它化为最简行 阶梯形矩阵,所用命令如下: >> A=[1 2 -1;2 5 2;1 4 7;1 3 3]; >> rref(A)
的。用svd计算矩阵A=[1 4 2;5 6 9] 例3-15 求矩阵A=[1 4 2;5 6 9]的奇异分解, [U,S,V]=SVD(A)
3.1.3 矩阵的特征值和特征向量
1 矩阵的特征值与特征向量 在MATLAB中,计算矩阵A的特征值和特征向量的函数是 eig(A),常用的调用格式有3种: (1) E=eig(A):求矩阵A的全部特征值,构成向量E。 (2) [V,D]=eig(A):求矩阵A的全部特征值,构成对角阵 D,并求A的特征向量构成V的列向量。 (3) [V,D]=eig(A,‘nobalance’):与第2种格式类似, 但第2种格式中先对A作相似变换后求矩阵A的特征值和特 征向量,而格式3直接求矩阵A的特征值和特征向量。
的通解.
解
x1 x2 x3 x4 x5 0 3 x 2 x x x 3x 0 1 2 3 4 5 x2 2 x3 2 x4 6 x5 0 5 x1 4 x2 3 x3 3 x4 x5 0
所用MATLAB命令及运行结果为
为该非齐次方程组的通解,其中k1,k2为任意实数.
3.2 矩阵元素运算
矩阵运算主要是对矩阵里的每个元素进行运算!
3.矩阵的行列式:
| A | det( A)
k ( 1 ) a 1k1 a2 k2 ankn
Matlab中用函数det()来计算矩阵的行列式。
例3-3 求向量eye(4),magic(4)和A=[1,2,3 ;4,5,6;7,8,9]的行列式。 det(eye(4)); det(magic(4)); det(A);
3.1.2 线性方程组
Ax = b
例子:
7x = 21 x = 21/7=3
有x = A-1b,但实际上并不显式求A-1
如果求逆
x = 7-1× 21 = .142857 × 21 = 2.99997 这就需要一次除和一次乘,且精度更低
Backslash运算符
AX = B
X = A\B 左除
XA = B
1.Cholesky分解: Cholesky分解是把对称正定矩阵表示成上三角矩阵的转 置与其本身的乘积,即:A=RTR,在Matlab中用函数chol 来计算Cholesky分解 例3-13 求矩阵A=pascal(4)的Cholesky分解, A=pascal(4) R=chol(A) RT R
2.LU分解: LU分解是将任意一个方正A分解成为一个交换下三角矩阵 L和一个上三角矩阵U的乘积,A=LU,在Matlab中用函数lu 来计算LU分解 例3-14 求矩阵A=[1,4,2;5,6,9;4,1,8]的LU分解, [L1,U1]=LU(A) L1*U1