ImageVerifierCode 换一换
格式:DOCX , 页数:15 ,大小:72.26KB ,
资源ID:19861451      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/19861451.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(MATLAB课件 第八章 线性代数基础Word文件下载.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

MATLAB课件 第八章 线性代数基础Word文件下载.docx

1、10 20 30; size(a) 4 3 length(a) ans =注意size(a)与length(a)两者之间的区别。1.4矩阵的迹矩阵的迹定义为该矩阵对角线上的各元素之和,也等于该矩阵的特征值之和。Matlab调用格式为:trace();【例5】求矩阵A=1 2 30;2 20 3;3 2 11的迹 A=1 2 30;3 2 11;trace(A)321.5 转置运算在MATLAB中,矩阵转置运算的表达式和线性代数一样,即对于矩阵,其转置矩阵的MATLAB表达式为A或transpose(A)。但应该注意,在MATLAB中,有几种类似于转置运算的矩阵元素变换运算是线性代数中没有的,他

2、们是: fliplr(A) 将A左右翻转; flipud(A) 将A上下翻转; rot90(A) 将A逆时针方向旋转90。【例6】求矩阵A=1 2 30;3 2 11的转置矩阵3 2 11,B=AA = 1 2 30 2 20 3 3 2 11B = 1 2 3 2 20 230 3 11 transpose(A) rot90(A) 30 3 111.6 逆矩阵运算矩阵的逆运算是矩阵运算中很重要的一种运算。它在线性代数及计算方法中都有很多的论述,而在MATLAB中,众多的复杂理论只变成了一个简单的命令inv()。【例7】 求矩阵A=1 2; 3 4的逆矩阵。 A=1 2;3 4,invA=in

3、v(A),A*invA 1 2 3 4invA = -2.0000 1.0000 1.5000 -0.5000 1.0000 00.0000 1.0000从ans变量的结果可以看出,A的逆矩阵没有求错。在线性代数教材中,通常采用初等行变换的方式来求解矩阵的逆。这样的方法可以用以下方法可以实现:3 4,n=size(A);A1=A,eye(n);A2=rref(A1);invA=A2(:,1+n(1):end)【例8】求矩阵A=a b;c d的逆矩阵。c d;invA=inv(A) invA = d/(a*d-b*c), -b/(a*d-b*c) -c/(a*d-b*c), a/(a*d-b*c

4、)1.7 广义逆矩阵由线代知识知道,如果矩阵奇异,则逆矩阵不存在,另外,长方形的矩阵有时也会涉及到求逆的问题,这样就需要定义一种新的“逆矩阵”。对于矩阵A,如果存在一个矩阵N,满足ANA=A,则N矩阵称为A的广义逆矩阵,记作,如果A是一个nm的长方形矩阵,则N为mn阶的矩阵。满足这样的广义逆矩阵有无穷多个。 可以证明,对于一个给定的矩阵A,存在一个唯一的矩阵M使得下面的3个条件同时成立:1) AMA=A 2) MAM=M 3)AM与MA均为对称矩阵这样的矩阵称为矩阵的oore-Penrose广义逆矩阵,记作。MATLAB提供了求取矩阵oore-Penrose广义逆矩阵的函数pinv(),其格式

5、为:M=pinv(A) %按默认精度求取oore-Penrose广义逆矩阵M=pinv(A,e) %按指定精度e求取oore-Penrose广义逆矩阵其中,e为判0用误差限,如果省略此参数,则判0用误差限选用机器的精度eps.如果A是非奇异方阵,则该函数得出的结果就是矩阵的逆矩阵,但这样求解的速度将明显慢于函数inv().【例9】求奇异矩阵A=1 2;3 6的广义逆矩阵 pinv(A);M=pinv(A),A*M*A,M*A*M,A*M,M*AM = 0.0200 0.0600 0.0400 0.1200 1.0000 2.0000 3.0000 6.0000 0.1000 0.3000 0.

6、3000 0.9000 0.2000 0.40000.4000 0.8000从结果可以看出,所求的广义逆矩阵满足以上的三个条件。【例10】 求矩阵A=1 2; 3 4的广义逆矩阵。 3 4;invA=pinv(A)1.8伴随矩阵Matlab中没有直接求矩阵的伴随矩阵的函数,引入伴随矩阵的概念,实际上是为了求逆阵,一般数学软件都有求逆阵的函数。如果A可逆,则A*=|A|A(-1),伴随矩阵是容易求得的;【例11】求矩阵A=1 0 1;2 1 2;0 4 6的伴随矩阵。 A=1 0 1;0 4 6,bsjz=det(A)*inv(A) 1 0 1 2 1 2 0 4 6bsjz = -2 4 -1

7、 -12 6 0 8 -4 1下面是自编的函数bansui(),可以直接求得伴随矩阵,但注意一定要将该函数保存在搜索路径之下。function B = bansui(A)ce = poly(eig(A);cesize = max(size(ce);p = 0 ce(1:(cesize-1);s = (-1)(max(size(A)+1);B = s*polyvalm(p,A);【例12】求矩阵A=1 0 1;0 4 6的伴随矩阵0 4 6;bsjz=bansui(A) -2.0000 4.0000 -1.0000 -12.0000 6.0000 08.0000 -4.0000 1.0000 d

8、et(A) 6 A*bsjz 6.0000 0 0.0000 0.0000 6.0000 0.0000 0 0.0000 6.0000从上面结果可以看出,A*bsjz=det(A)*E【例13】求奇异矩阵A=1 2;3 6的伴随矩阵3 6; 6 -2 -3 12.线性方程组求解我们将线性方程的求解分为两类:一类是方程组求唯一解或求特解,另一类是方程组求无穷解即通解。可以通过系数矩阵的秩来判断:若系数矩阵的秩和增广矩阵的秩相等且等于n(n为方程组中未知变量的个数),则有唯一解;若系数矩阵的秩和增广矩阵的秩相等且rn,则有无穷解;线性方程组的无穷解 = 对应齐次方程组的通解+非齐次方程组的一个特解

9、;其特解的求法属于解的第一类问题,通解部分属第二类问题。2.1 求线性方程组的唯一解或特解(第一类问题)利用矩阵除法求线性方程组的特解(或一个解) 方程:AX=b解法1:X=Ab【例14】 求方程组的解解:A=5 6 0 0 0 1 5 6 0 0 0 1 5 6 0 0 0 1 5 6 0 0 0 1 5; B=1 0 0 0 1;R_A=rank(A) %求秩X=AB %求解 或 X=inv(A)*B运行后结果如下R_A = 5X = 2.2662 -1.7218 1.0571 -0.5940 0.3188这就是方程组的解。解法2.用函数rref求解: C=A,B %由系数矩阵和常数列构成

10、增广矩阵C R=rref(C) %将C化成行最简行R = 1.0000 0 0 0 0 2.2662 0 1.0000 0 0 0 -1.7218 0 0 1.0000 0 0 1.0571 0 0 0 1.0000 0 -0.5940 0 0 0 0 1.0000 0.3188则R的最后一列元素就是所求之解。【例15】 求方程组的一个特解。A=1 1 -3 -1;3 -1 -3 4;1 5 -9 -8;B=1 4 0X=AB %由于系数矩阵不满秩,该解法可能存在误差。X = 0 0 -0.5333 0.6000(一个特解近似值)。此时,不能采用如下命令:x=inv(A)*B,因为inv要求矩

11、阵为方阵。而用命令:x=pinv(A)*B x = 0.3504 -0.0916 -0.3881 0.4232,可用A*x验算注:如果矩阵A不是一个方阵,或者A是一个非满秩的方阵时,A没有逆矩阵,但可以找到一个与A的转置同型的矩阵B,使得 A*B*A=A,B*A*B=B,此时称B为A的伪逆,也称广义逆矩阵。使用:pinv(A)若用rref求解,则比较精确: A=1 1 -3 -1; C=A,B; %构成增广矩阵 R=rref(C) 1.0000 0 -1.5000 0.7500 1.2500 0 1.0000 -1.5000 -1.7500 -0.2500 0 0 0 0 0由此得解向量X=1

12、.2500 0.2500 0 0(一个特解)。2.2 求线性齐次方程组的通解在Matlab中,函数nullnl 用来求解零空间,即满足AX=0的解空间,实际上是求出解空间的一组基(基础解系)。对齐次线性方程组Ax=0;格式 z = null(A) % z的列向量为方程组的正交规范基,满足 z=null(A,r) % z的列向量是方程AX=0的有理基如果A为数值矩阵,调用null(A,r);或 调用null(A)如果A为符号矩阵,只能调用null(A)【例16】 求解方程组的通解:A=1 1 1 -1;1 -1 1 -3;1 3 1 1;format rat %指定有理式格式输出B=null(A

13、,r) %求解空间的有理基运行后显示结果如下: -1 2 0 -1 1 0 0 1即方程组的通解为:若调用:c=null(A),则应: format short c=null(A)得:c = -0.5000 0.7071 -0.1667 -0.4714 0.8333 0.23570.1667 0.4714或通过行最简型得到基: B=rref(A) 1 0 1 -2 0 1 0 1 0 0 0 02.3 求非齐次线性方程组的通解非齐次线性方程组需要先判断方程组是否有解,若有解,再去求通解。因此,步骤为:第一步:判断AX=b是否有解,若有解则进行第二步第二步:求AX=b的一个特解第三步:求AX=0

14、的通解第四步:AX=b的通解= AX=0的通解+AX=b的一个特解。【例17】 求方程组的解A=1 0 1 -1;0 1 1 3;0 2 1 1;1 4 -7 6;B=1 -2 -8 0回车可得: 3.0000 -4.0000 -1.00001.0000或采用简化行阶梯形方法:R=rref(C) 1 0 0 0 3 0 1 0 0 -4 0 0 1 0 -1 0 0 0 1 1【例18】 求解方程组的通解:解法一:在Matlab编辑器中建立M文件如下:b=1 4 0B=A b;n=4;R_A=rank(A)R_B=rank(B)format ratif R_A=R_B&R_A=n X=Abel

15、seif R_A=R_B&R_An C=null(A,)else X=Equation has no solvesend运行后结果显示为: 2R_B =Warning: Rank deficient, rank = 2 tol = 8.8373e-015. In D:Matlabpujunlx0723.m at line 11 0 -8/15 3/5 C = 3/2 -3/4 3/2 7/4 0 1 所以原方程组的通解为X=k1+k2+解法二:用rref求解C=rref(B) %求增广矩阵的行最简形,可得最简同解方程组。 1 0 -3/2 3/4 5/4 0 1 -3/2 -7/4 -1/4

16、0 0 0 0 0 对应齐次方程组的基础解系为:, 非齐次方程组的特解为:所以,原方程组的通解为:X=k1【例19】:编写程序求解AX=b,要求由人机交互模式输入矩阵A,b,并根据判定定理给出各种情况的求解答案。编写程序如下:A=input(Please input matrix A:);b=input(Please input matrix b:B=A,b;n=size(A);R_A=rank(A);R_B=rank(B);R_A=n(2) n(2) X=pinv(A)*b ) elseequition no solve编写完后,保存为mm.m文件,然后在窗口输入mm,回车后按提示输入系数矩阵和常数列,即可自动判定方程组解的情况并求出方程组的解。 mm1 2;3 41;2X = %方程组有唯一解的情况 1/22 4X = %方程组有无穷多解的情况 1/5 2/5 -2 13X = %方程组无解的情况equition no solve

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1