《MATLAB课件第八章线性代数基础》由会员分享,可在线阅读,更多相关《MATLAB课件第八章线性代数基础(15页珍藏版)》请在人人文库网上搜索。

1、第八章 线性代数基础1.矩阵的重要运算1.1方阵的行列式方阵的行列式的值由det函数计算得出;【例1】 计算矩阵A=1 2 2;2 3 5;4 5 7的行列式的值。 A=1 2 2;2 3 5;4 5 7;det(A)ans =4【例2】 计算矩阵A=a b;c d的行列式的值。 syms a b c d;A=a b;c d,det(A)A = a, b c, dans =a*d-b*c1.2矩阵的秩矩阵的秩由rank函数来计算。【例3】 计算矩阵A=1 2 2;2 3 5;4 5 7的秩。 rank(A)ans =31.3矩阵的维数和长度size() % 求矩阵的维数 (columns & 。

2、rows)。length() % 求矩阵的长度,矩阵的长度用向量(或columns)数定义。表示的是矩阵的列数和行数中的最大数。【例4】 a=10,20,42;34,20,4;198,34,6;10 20 30; size(a) ans =4 3 length(a) ans =4注意size(a)与length(a)两者之间的区别。1.4矩阵的迹矩阵的迹定义为该矩阵对角线上的各元素之和,也等于该矩阵的特征值之和。Matlab调用格式为:trace();【例5】求矩阵A=1 2 30;2 20 3;3 2 11的迹 A=1 2 30;2 20 3;3 2 11;trace(A)ans =321.。

3、5 转置运算在MATLAB中,矩阵转置运算的表达式和线性代数一样,即对于矩阵,其转置矩阵的MATLAB表达式为A或transpose(A)。但应该注意,在MATLAB中,有几种类似于转置运算的矩阵元素变换运算是线性代数中没有的,他们是:fliplr(A) 将A左右翻转;flipud(A) 将A上下翻转;rot90(A) 将A逆时针方向旋转90。【例6】求矩阵A=1 2 30;2 20 3;3 2 11的转置矩阵 A=1 2 30;2 20 3;3 2 11,B=AA =1 2 302 20 33 2 11B =1 2 32 20 230 3 11 transpose(A)ans =1 2 32。

4、 20 230 3 11 rot90(A)ans =30 3 112 20 21 2 31.6 逆矩阵运算矩阵的逆运算是矩阵运算中很重要的一种运算。它在线性代数及计算方法中都有很多的论述,而在MATLAB中,众多的复杂理论只变成了一个简单的命令inv()。【例7】 求矩阵A=1 2; 3 4的逆矩阵。 A=1 2;3 4,invA=inv(A),A*invAA =1 23 4invA =-2.0000 1.00001.5000 -0.5000ans =1.0000 00.0000 1.0000从ans变量的结果可以看出,A的逆矩阵没有求错。在线性代数教材中,通常采用初等行变换的方式来求解矩阵的。

5、逆。这样的方法可以用以下方法可以实现: A=1 2;3 4,n=size(A);A1=A,eye(n);A2=rref(A1);invA=A2(:,1+n(1):end)A =1 23 4invA =-2.0000 1.00001.5000 -0.5000【例8】求矩阵A=a b;c d的逆矩阵。 syms a b c d;A=a b;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)1.7 广义逆矩阵由线代知识知道,如果矩阵奇异,则逆矩阵不存在,另外,长方形的矩阵有时也会涉及到求逆的问题,这样就需。

6、要定义一种新的“逆矩阵”。对于矩阵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(),其格式为:M=pinv(A) %按默认精度求取oore-Penrose广义逆矩阵M=pinv(A,e) %按指定精度e求取oo。

7、re-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.06000.0400 0.1200ans =1.0000 2.00003.0000 6.0000ans =0.0200 0.06000.0400 0.1200ans =0.1000 0.30000.3000 0.9000ans =0.2000 0.。

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

9、 12 1 20 4 6bsjz =-2 4 -1-12 6 08 -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;2 1 2;0 4 6的伴随矩阵 A=1 0 1;2 1 2;0 4 6;bsjz=bansui(A)bsjz =-2.0000 4.0000。

10、 -1.0000-12.0000 6.0000 08.0000 -4.0000 1.0000 det(A)ans =6 A*bsjzans =6.0000 0 0.00000.0000 6.0000 0.00000 0.0000 6.0000从上面结果可以看出,A*bsjz=det(A)*E【例13】求奇异矩阵A=1 2;3 6的伴随矩阵 A=1 2;3 6;bsjz=bansui(A)bsjz =6 -2-3 12.线性方程组求解我们将线性方程的求解分为两类:一类是方程组求唯一解或求特解,另一类是方程组求无穷解即通解。可以通过系数矩阵的秩来判断:若系数矩阵的秩和增广矩阵的秩相等且等于n(n为。

11、方程组中未知变量的个数),则有唯一解;若系数矩阵的秩和增广矩阵的秩相等且rA=5 6 0 0 01 5 6 0 00 1 5 6 0 0 0 1 5 60 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.72181.0571-0.59400.3188这就是方程组的解。解法2.用函数rref求解: C=A,B %由系数矩阵和常数列构成增广矩阵C R=rref(C) %将C化成行最简行R =1.0000 0 0 0 0 2.26620 1.0000 0 0 0 -1.72180 0 。

12、1.0000 0 0 1.05710 0 0 1.0000 0 -0.59400 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 0;X=AB %由于系数矩阵不满秩,该解法可能存在误差。X = 0 0 -0.5333 0.6000(一个特解近似值)。此时,不能采用如下命令:x=inv(A)*B,因为inv要求矩阵为方阵。而用命令:x=pinv(A)*B x = 0.3504 -0.0916 -0.3881 0.4232,可用A*x验算注:如果矩阵A不是一个方阵,。

13、或者A是一个非满秩的方阵时,A没有逆矩阵,但可以找到一个与A的转置同型的矩阵B,使得 A*B*A=A,B*A*B=B,此时称B为A的伪逆,也称广义逆矩阵。使用:pinv(A)若用rref求解,则比较精确: A=1 1 -3 -1;3 -1 -3 4;1 5 -9 -8;B=1 4 0; C=A,B; %构成增广矩阵 R=rref(C)R =1.0000 0 -1.5000 0.7500 1.25000 1.0000 -1.5000 -1.7500 -0.25000 0 0 0 0由此得解向量X=1.2500 0.2500 0 0(一个特解)。2.2 求线性齐次方程组的通解在Matlab中,函数。

14、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,r) %求解空间的有理基运行后显示结果如下:B =-1 2 0 -1 1 0 0 1即方程。

15、组的通解为:若调用:c=null(A),则应: format short c=null(A)得:c =-0.5000 0.7071-0.1667 -0.47140.8333 0.23570.1667 0.4714或通过行最简型得到基: B=rref(A)B =1 0 1 -20 1 0 10 0 0 02.3 求非齐次线性方程组的通解非齐次线性方程组需要先判断方程组是否有解,若有解,再去求通解。因此,步骤为:第一步:判断AX=b是否有解,若有解则进行第二步第二步:求AX=b的一个特解第三步:求AX=0的通解第四步:AX=b的通解= AX=0的通解+AX=b的一个特解。【例17】 求方程组的解解。

16、:A=1 0 1 -1;0 1 1 3;0 2 1 1;1 4 -7 6; B=1 -2 -8 0;R_A=rank(A) %求秩X=AB %求解 或 X=inv(A)*B回车可得:R_A =4X =3.0000-4.0000-1.00001.0000或采用简化行阶梯形方法: C=A,B;R=rref(C)R =1 0 0 0 30 1 0 0 -40 0 1 0 -10 0 0 1 1则R的最后一列元素就是所求之解。【例18】 求解方程组的通解:解法一:在Matlab编辑器中建立M文件如下:A=1 1 -3 -1;3 -1 -3 4;1 5 -9 -8;b=1 4 0;B=A b;n=4;R。

17、_A=rank(A)R_B=rank(B)format ratif R_A=R_B&R_A=nX=Abelseif R_A=R_B&R_A In D:Matlabpujunlx0723.m at line 11X =0 0 -8/15 3/5 C =3/2 -3/4 3/2 7/4 1 0 0 1 所以原方程组的通解为X=k1+k2+解法二:用rref求解A=1 1 -3 -1;3 -1 -3 4;1 5 -9 -8;b=1 4 0;B=A b;C=rref(B) %求增广矩阵的行最简形,可得最简同解方程组。运行后结果显示为:C =1 0 -3/2 3/4 5/4 0 1 -3/2 -7/4 。

18、-1/40 0 0 0 0 对应齐次方程组的基础解系为:, 非齐次方程组的特解为:所以,原方程组的通解为:X=k1+k2+。【例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);format ratif R_A=R_B&R_A=n(2) X=Abelseif R_A=R_B&R_A mmPlease input matrix A:1 2;3 4Please input matrix b:1;2X = %方程组有唯一解的情况0 1/2 mmPlease input matrix A:1 2;2 4Please input matrix b:1;2X = %方程组有无穷多解的情况1/5 2/5 C =-2 1 mmPlease input matrix A:1 2;2 4Please input matrix b:1;3X = %方程组无解的情况equition no solve。

matlab第八章答案,MATLAB课件第八章线性代数基础相关推荐

  1. 用符号方法求下列极限或导数matlab,实验7答案 Matlab符号计算

    matlab实验报告答案 实验7 Matlab符号计算 实验目的: 1. 掌握定义符号对象的方法: 2. 掌握符号表达式的运算法则以及符号矩阵运算. 3. 掌握求符号函数极限及导数的方法. 4. 掌握 ...

  2. matlab 概述作业答案,Matlab作业答案

    <Matlab作业答案>由会员分享,可在线阅读,更多相关<Matlab作业答案(26页珍藏版)>请在金锄头文库上搜索. 1.控制系统的 MATLAB 仿真与设计 - 实验作业1 ...

  3. matlab课本作业答案,MATLAB 实用教程 课后习题答案

    MATLAB 实用教程 课后习题答案 人民邮电出版社 张磊 毕靖 郭莲英 编著 第二章 1.计算复数3+4i与5-6i的乘积. a=3+4i b=5-6i c=a*b 2.构建结构体Students, ...

  4. matlab小作业答案,MATLAB所有作业及答案

    MATLAB所有作业及答案 一.上交作业 第一周作业 1. 计算,其中a=5.67,b=7.8111 >> a=5.67;b=7.8111; >>exp(a+b)/log10( ...

  5. matlab习题及答案,MATLAB习题及答案

    习题: 一.填空 1. 清除命令窗口内容的命令是( clc ). 2. 删除工作空间中保存的变量x的命令是( clear x ). 3. 将双精度实数的显示格式设置成15位定点小数格式的命令是( fo ...

  6. matlab小作业答案,MATLAB编程作业答案.doc

    <Matlab编程训练> 作业 实训一 MATLAB语言介绍和数值计算 1.先求下列表达式的值,然后显示MATLAB工作空间的使用情况并保存变量. . 已知 ,求下列表达式的值: A+6* ...

  7. 数学实验matlab课后习题答案,matlab数学实验教程答案

    摘要: 数学实验如按工程组成来分单价分部分项,答案形式工程价的有(量清单报,在工中计价清单程量.项目题了质量问出现,数学实验造成了一定的损失,业主取的包括对此措施可噪.... 数学实验 教程工程价的量 ...

  8. c语言课本第八章答案,c语言第八章字符串编程答案

    中国石油大学c语言编程个人答案,包括:字符转换,合并字符串,删除重复字符,删除指定字符,[设计型]8.5 单词有多少,8.6 在指定位置插入字符串,[探索性]8.8 大数相加,[研究创新性]8.7 Y ...

  9. 2021年春季学期-信号与系统-第七次作业参考答案-MATLAB实验题

    本文是 2021年春季学期-信号与系统-第七次作业参考答案 的小题的参考答案. ▌MATLAB 实验题 ▌ 在网络学堂下载一段音乐及其经过处理后的音乐数据文件,聆听相应的音频效果.使用在MATLAB中 ...

最新文章

  1. Debian 下如何安装 Java
  2. c# 计算点到线段的距离
  3. python如何处理表格_Python是如何处理Excel表格的?方法简单!
  4. 【Python基础】Python 面向对象编程(下篇)
  5. MySQL查询的性能优化
  6. cockroachdb mysql_CockroachDB学习笔记——[译]CockroachDB中的SQL:映射表中数据到键值存储...
  7. protobuf 向前兼容向后兼容
  8. verilog实现汉明权重_(学习Verilog)6. FIR IP核的基础功能使用总结
  9. mysql opxe_PXE安装系统
  10. 2016OSC源创会年终盛典-架构数据场-陈沙克
  11. 从Android support到Androidx
  12. HTML/CSS 常见面试题汇总
  13. SATA M2 SSD 无法安装系统的解决方法
  14. Only fullscreen activities can request orientation终极解决方法
  15. 企业口碑营销,如何塑造全网优质口碑
  16. 怎么写安卓手机脚本_干货!最火短视频脚本 分镜头教程合集40份
  17. 马尔可夫过程(Markov Process)和马尔可夫链
  18. Android实现了豆瓣FM的首页效果
  19. AWS和Azure的区域
  20. 爱美眉aimeimei.pw整站下载、2G图片、上万数据

热门文章

  1. 让div水平居中的css方法
  2. visualGDB配合VS2015使用,出现函数内部局部变量无法跳转到定义的解决方法。
  3. 在大学之中,大部分学生都学不好C语言,是C语言越来越难学了吗?
  4. Java简单实现本地缓存
  5. 潮汐观测数据调和分析及预报成图
  6. python 两种提取pdf中图片的包
  7. 程序多开限制———源码
  8. 百问网七天物联网课程课后笔记(第五天提高课)
  9. 英媒说中美网络战“握手言和” 中方攻击显著减少
  10. 跨域问题解决方案——亲测有效