
MATLAB与线性代数基本运算数学建模.ppt
24页MATLAB与与线性代数的基本运算线性代数的基本运算 2010.72010.7一、矩阵的基本输入一、矩阵的基本输入在在MATLABMATLAB命令窗口输入:命令窗口输入: A A==[1[1,,2 2,,3 3;;2 2,,3 3,,4]4]或或 A A==[ 1 2 3[ 1 2 3 2 3 4 ] 2 3 4 ]二、产生特殊矩阵的函数二、产生特殊矩阵的函数zeros zeros 创建零矩阵创建零矩阵 ones ones 创建全创建全1 1矩阵矩阵eye eye 创建单位矩阵创建单位矩阵randrand((randnrandn)) 创建随机矩阵创建随机矩阵round round 四舍五入运算四舍五入运算length(A) length(A) 矩阵的长度矩阵的长度size(A) size(A) 矩阵的尺寸矩阵的尺寸三、矩阵的函数输入三、矩阵的函数输入A=rand(2,3)A=rand(2,3)B=randn(2,3)B=randn(2,3)C=round(10*randn(2,3))C=round(10*randn(2,3))D=eye(5)D=eye(5) 矩阵的剪裁矩阵的剪裁从一个矩阵中取出若干行(列)构成新矩阵称从一个矩阵中取出若干行(列)构成新矩阵称为为剪裁剪裁,,““::””是非常重要的剪裁工具。
是非常重要的剪裁工具例如,例如,键入:键入:A=[1 2 3;4 5 6;7 8 9]; A=[1 2 3;4 5 6;7 8 9]; A(3, :) %A A(3, :) %A的第三行的第三行输出:输出:ans=ans= 7 8 9 7 8 9键入:B=A(2:3, :) %A的2,3行输出:B= 4 5 6 7 8 9键入:A(:, 1) %A的第一列输出:ans= 1 4 7 矩阵的剪裁键入:键入: A=[1 2 3;4 5 6;7 8 9]; A=[1 2 3;4 5 6;7 8 9]; C=A(1:2, [1 3]) C=A(1:2, [1 3]) 输出:输出:C=C= 1 3 1 3 4 6 4 6还有还有A(1:2:3, 3:-1:1), A(1:2:3, 3:-1:1), 矩阵的剪裁矩阵的剪裁矩阵的拼接矩阵的拼接将几个矩阵接在一起称为将几个矩阵接在一起称为拼接拼接,左右拼接行数,左右拼接行数要相同,上下拼接列数要相同。
要相同,上下拼接列数要相同键入:键入:D=[C, zeros(2,1)]D=[C, zeros(2,1)]输出:输出:D=D= 1 3 0 1 3 0 4 6 0 4 6 0 键入:键入:E=[D;eye (2),ones(2,1)]E=[D;eye (2),ones(2,1)]输出:输出:E = 1 3 0 4 6 0 1 0 1 0 1 1矩阵的拼接矩阵的拼接四、矩阵的基本运算四、矩阵的基本运算 4 4、方阵的幂运算:、方阵的幂运算:^ ^2 2、矩阵的乘法:、矩阵的乘法:* *3 3、矩阵的转置:、矩阵的转置:'1 1、矩阵的加、减与数乘:、矩阵的加、减与数乘:+ +,, - -,, * * 5 5、方阵的逆:、方阵的逆:invinv6 6、方阵的行列式:、方阵的行列式:detdet7 7、矩阵的秩:、矩阵的秩:rankrank五、求线性方程组的唯一解五、求线性方程组的唯一解 问题:设问题:设A A为为n n阶可逆矩阵,求方程组阶可逆矩阵,求方程组AxAx==b b的解。
的解方法一:方法一:x=inv(A)* b x=inv(A)* b 或:或:x=A^-1* bx=A^-1* b方法二:方法二:U U==rrefrref(([A[A,,b]b]))U U为矩阵为矩阵[A[A,,b]b]的行最简形的行最简形例:求非齐次线性方程组的唯一解例:求非齐次线性方程组的唯一解 解:在解:在MATLABMATLAB命令窗口输入:命令窗口输入:A=[2,1,2,4;-14,17,-12,7;7,7,6,6;-2,-A=[2,1,2,4;-14,17,-12,7;7,7,6,6;-2,-9,21,-7]9,21,-7]b=[5;8;5;10]b=[5;8;5;10]x=inv(A)*bx=inv(A)*bx=A^-1*bx=A^-1*bU=rref([A,b])U=rref([A,b])六、求线性方程组的通解六、求线性方程组的通解 问题:求方程组问题:求方程组AxAx==b b的通解的通解方法一:方法一:U U==rrefrref(([A,b])[A,b])方法二:方法二:Ax=bAx=b的特解:的特解:x0=A\b x0=A\b Ax=0 Ax=0的通解:的通解:x=null(A,’r’)x=null(A,’r’)例:求非齐次线性方程组的通解。
例:求非齐次线性方程组的通解 解:在解:在MATLABMATLAB命令窗口输入:命令窗口输入:A=[2,4,-1,4,16;-3,-6,2,-6,-23;3,6,-4,6,19;1,2,5,2,19]b=[-2;7;-23;43]U=rref([A,b]) x0=A\b x=null(A,'r') 七、分析向量组的线性相关性七、分析向量组的线性相关性把向量以列的形式放入矩阵把向量以列的形式放入矩阵A A中:中:A A==[a1,a2,a3,…[a1,a2,a3,…,,am]am][R,s][R,s]==rrefrref((A)A)R R 为矩阵为矩阵 A A 的行最简形的行最简形s s 为矩阵为矩阵R R的基准元素所在列数所构成的行向量的基准元素所在列数所构成的行向量例:例: 已知向量组已知向量组,,,,,,,,求出它的最大无关组,并用该最大无关组求出它的最大无关组,并用该最大无关组来线性表示其它向量来线性表示其它向量解:在解:在MATLAB命令窗口输入:命令窗口输入:a1=[1;1;0;2;2]; % 输入输入5个列向量个列向量a2=[3;4;0;8;3];a3=[2;3;0;6;1];a4=[9;3;2;1;2];a5=[6;-2;2;-9;2];A=[a1,a2,a3,a4,a5]; % 构造矩阵构造矩阵A[R,s]=rref(A) 八、求方阵的特征值和特征向量八、求方阵的特征值和特征向量r=eig(A)r=eig(A)r r为矩阵为矩阵A A的所有特征值所构成的列向量的所有特征值所构成的列向量[P,D]=eig(A)[P,D]=eig(A)D D为对角矩阵,对角线上元素为为对角矩阵,对角线上元素为A A的所有特征值;的所有特征值;P P的列向量是的列向量是A A的属于对应特征值的单位特征向量。
的属于对应特征值的单位特征向量九、化二次型为标准形九、化二次型为标准形例例 用正交变换法将以下二次型化为标准形用正交变换法将以下二次型化为标准形解:在解:在MATLAB命令窗口输入:命令窗口输入:A=[1,0,0;0,2,2;0,2,2]; % 输入二次型的矩阵输入二次型的矩阵[P,D]=eig(A) 十、小结十、小结特征值和特征向量的求解特征值和特征向量的求解 [P,D]=eig(A) [P,D]=eig(A)矩阵的输入矩阵的输入 = [ ] , ; round rand randn = [ ] , ; round rand randn求解方程组求解方程组 rref([A,b]) null(A,’r’) rref([A,b]) null(A,’r’) x=A\bx=A\b向量组的线性相关性向量组的线性相关性 [U,r]=rref(A) [U,r]=rref(A)矩阵的基本运算矩阵的基本运算 + - * ‘ ^ inv rank det + - * ‘ ^ inv rank det 二次型的标准化二次型的标准化 [P,D]=eig(A) [P,D]=eig(A)谢谢!谢谢!。












