版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、数学软件之MATLAB简介鲁鲁 鑫鑫E-mailE-mail:09 09 20102010年年1212月月2 MATLAB概述与运算基础3Matlab 简介q 在欧美各高等院校,Matlab 已经成为线性代数、数值分析、数理统计、自动控制理论、数字信号处理、时间序列分析、动态系统仿真、图像处理等课程的基本教学工具,已成为大学生必须掌握的基本技能之一。Matlab 功能强大、简单易学、编程效率高,深受广大科技工作者的欢迎。q Matlab是一种广泛应用于工程计算及数值分析领域的新型高级语言,自 1984 年推向市场以来,历经二十多年的发展与竞争,现已成为国
2、际公认的最优秀的工程应用开发环境。4Matlab 简介q Matlab: Matrix Laboratory 矩阵实验室q Matlab 的发展的发展l 1980年,Moler 教授用 Fortran 语言编写了集命令翻译、 科学计算于一身的一套交互式软件系统。l 1984年,Moler 等成立了 The MathWorks 的公司,用 C 语言完全改写 Matlab,并推出第一个商业版。l 增添图形图像处理、符号运算、以及与其他流行软件 的接口功能,使得 Matlab 的功能越来越强大。l 到九十年代,在国际上 30 几个数学类科技应用软件中, Matlab 在数值计算方面独占鳌头。5Mat
3、lab 简介q 目前,Matlab 已成为世界顶尖的数学应用软件,以其强大的工程计算、算法研究、工程绘图、应用程序开发、数据分析和动态仿真等功能,在航空航天、机械制造和工程建筑等领域发挥着越来越重要的作用。就影响而言,至今仍然没有一个别的计算软件可与 Matlab 匹敌。 q Matlab 的发行的发行1984年,Matlab 1.0 (DOS版,182K,20多个函数)1992年,Matlab 4.0 (93年推出Windows版,加入 simulink)1994年,Matlab 4.2(得到广泛重视和应用)1999年,Matlab 5.3(真正实现32位运算)2002年,Matlab 6.
4、5(采用JIT加速器)2004年,Matlab 7.0自2006年起,Matlab每年更新两次硬件: 一般要求486以上的处理器、16MB以上内存、足够的的硬盘可用空间(随安装组件的多少而定)、CD-ROM驱动器、鼠标等。软件: Windows 9x 及以上。6Matlab 的安装7Matlab 的安装q 购买(下载)Matlab 软件q 插入光盘,自动运行; 或点击安装程序 setup.exel 这里以 Matlab 7.0.4 为例l 自 R2008a 开始增加了激活要求891011n必须安装的部件 Matlab Symbolic Math Toolbox Extended Symboli
5、c Math nmatlab自身所占空间较大,对资源要求高,一般选择安装在其他盘。12Matlab 的特点与功能q Matlab 具有很强的数值计算功能具有很强的数值计算功能l Matlab 以以矩阵矩阵作为数据操作的基本单位,作为数据操作的基本单位, 但无需预先指定矩阵维数(但无需预先指定矩阵维数(动态定维动态定维)l 按照按照 IEEE 的数值计算标准进行计算的数值计算标准进行计算l 提供十分丰富的数值计算函数,方便计算,提高效率提供十分丰富的数值计算函数,方便计算,提高效率l Matlab 命令与数学中的符号、公式非常接近,命令与数学中的符号、公式非常接近, 可读性强,容易掌握可读性强,
6、容易掌握q Matlab 是一个交互式软件系统是一个交互式软件系统输入一条命令,立即就可以得出该命令的结果输入一条命令,立即就可以得出该命令的结果13Matlab 的特点与功能q Matlab 符号计算功能符号计算功能Matlab 和著名的符号计算语言和著名的符号计算语言 Maple 相结合相结合q Matlab 的编程功能的编程功能Matlab具有具有程序结构控制程序结构控制、函数调用函数调用、数据结构数据结构、输入输输入输出出、面向对象面向对象等程序语言特征,而且等程序语言特征,而且简单易学简单易学、编程效率编程效率高高。通过。通过 Matlab 进行编程完成特定的任务进行编程完成特定的任
7、务q Matlab 的绘图功能的绘图功能Matlab提供丰富的绘图命令,提供丰富的绘图命令,很方便实现数据的可视化很方便实现数据的可视化14Matlab 的特点与功能q Matlab 丰富的工具箱(丰富的工具箱(toolbox)根据专门领域中的特殊需要而设计的各种可选工具箱根据专门领域中的特殊需要而设计的各种可选工具箱q Matlab 的的 Simulink 动态仿真集成环境动态仿真集成环境提供建立系统模型、选择仿真参数和数值算法、启动仿提供建立系统模型、选择仿真参数和数值算法、启动仿真程序对该系统进行仿真、设置不同的输出方式来观察真程序对该系统进行仿真、设置不同的输出方式来观察仿真结果等功能
8、仿真结果等功能Symbolic Math PDEOptimizationSignal processImage ProcessStatisticsControl SystemSystem Identification 15Matlab 的基本用法q Matlab 系统的启动系统的启动l 使用使用 Windows “开始开始” 菜单菜单l 运行运行 Matlab 系统启动程序系统启动程序 matlabl 双击双击 Matlab 快捷图标快捷图标q Matlab 系统的退出系统的退出l 在在 Matlab 主窗口主窗口 File 菜单中选择菜单中选择 Exit Matlabl 在在 Matlab
9、命令窗口输入命令窗口输入 exit 或或 quitl 单击单击 Matlab 主窗口的主窗口的“关闭关闭”按钮按钮16Matlab 的工作界面命令窗口命令窗口当前工当前工作目录作目录当前工当前工作空间作空间输入命令的输入命令的历史记录历史记录命令命令提示符提示符17命令窗口的工具栏 工具栏提供了一些命令按钮,使用命令按钮可使操作更快捷、更方便。 工作空间 新建 剪切 粘贴 浏览器 新仿真模型 打开 复制 撤消 路径浏览器 帮助18Matlab帮助系统q 联机帮助联机帮助l help 显示指定命令的简短使用说明显示指定命令的简短使用说明例:例: help eig help help q 详细使用
10、帮助详细使用帮助l doc 以网页形式以网页形式显示指定命令的帮助页显示指定命令的帮助页例:例: doc eig q 其它相关命令其它相关命令helpdesk、helpwin19Matlab 查找命令l lookfor 按指定的关键词查询与之相关的命令按指定的关键词查询与之相关的命令例:例: lookfor inverse l which 显示指定函数所在的目录显示指定函数所在的目录例:例: which eig q 其它相关命令其它相关命令cd、dir、more20Matlab 变量q 变量命名原则变量命名原则u 以以字母开头字母开头u 后面可以跟后面可以跟 字母、数字字母、数字 和和 下划线
11、下划线u 长度长度不超过不超过 63 个字符个字符(6.5 版本以前为版本以前为 19 个个)u 变量名变量名 区分字母的区分字母的 大小大小 写写q Matlab 语句的通常形式语句的通常形式变量变量 = 表达式表达式表达式是用运算符将有关运算量连接起来的式子,表达式是用运算符将有关运算量连接起来的式子,其结果被赋给赋值号其结果被赋给赋值号“=”左边的变量左边的变量21q 分号和续行符的作用Matlab 变量l 若不想在屏幕上输出结果,可以在语句最后加若不想在屏幕上输出结果,可以在语句最后加分号分号 l 如果语句很长,可用如果语句很长,可用续行符续行符 “”(三个点)续行(三个点)续行 续行
12、符续行符的前面最好留一个空格的前面最好留一个空格例:例:22q 变量的查询Matlab 变量l who 显示工作空间中的所有变量显示工作空间中的所有变量l whos 查看工作空间中变量的详细属性查看工作空间中变量的详细属性23q 系统预定义变量Matlab 变量u pi : 圆周率圆周率 ,其值为,其值为 imag(log(-1)u inf,Inf :无穷大无穷大 u nan,NaN :Not-a-Number,一个不定值,如,一个不定值,如 0/0u eps :浮点运算相对精度浮点运算相对精度 q 特殊变量特殊变量 ansu i,j :虚部单位,即虚部单位,即1 应尽量避免给系统预定义变量重
13、新赋值!应尽量避免给系统预定义变量重新赋值!q 数与算术表达式24Matlab 数值运算u Matlab 中的数默认是中的数默认是双精度实数双精度实数,表示方法同,表示方法同 C 语言语言3, -9, 0.4, 1.603e-12, 3.23e+20u 浮点运算的相对误差为浮点运算的相对误差为 epsu 浮点数表示范围为:浮点数表示范围为:10-308 10308u 复数的输入复数的输入l z=3+4i (4 与与 i 之间不能有空格之间不能有空格)l z=3+4*i复数作为矩阵元素输入时,加号两边不能有空格复数作为矩阵元素输入时,加号两边不能有空格! !25q 数学运算符u + 加法加法Ma
14、tlab 数值运算u - 减法减法u * 乘法乘法u / 和和 除法(右除和左除)除法(右除和左除)u 幂运算幂运算q 命令分隔符:逗号和分号26Matlab 的输出q 输出格式输出格式u Matlab 以双精度执行所有的运算,运算结果可以以双精度执行所有的运算,运算结果可以在在屏幕上输出屏幕上输出,同时,同时赋给指定变量;赋给指定变量;若无指定变量,则系若无指定变量,则系统会自动将结果赋给变量统会自动将结果赋给变量 “ans” u Matlab 中数的输出格式可以通过中数的输出格式可以通过 format 命令指定命令指定format 只改变变量的输出格式,只改变变量的输出格式,但不会影响变量
15、的值!但不会影响变量的值!各种 format 格式格式解释以pi为例format短格式(缺省显示格式),同short3.1416format short短格式(缺省显示格式),只显示5位3.1416format long长格式,双精度数15位,单精度数7位3.14159265358979format short e 短格式e方式(科学计数格式)3.1416e+000format long e长格式e方式3.141592653589793e+000format short g短格式g方式3.1416format long g长格式g方式3.14159265358979format compact
16、压缩格式format loose自由格式2728变量的存储q 存储当前工作空间中的变量存储当前工作空间中的变量u save 将所有变量存入文件将所有变量存入文件 matlab.matu save mydata 将所有变量存入指定文件将所有变量存入指定文件 mydata.matq 存储指定的变量存储指定的变量u save mydata.mat 将所有变量存入文件将所有变量存入文件 mydata.matsave 文件名文件名 变量名列表变量名列表例例: save mydata A x z 变量名列表中各变量之间用变量名列表中各变量之间用空格空格分隔分隔29变量的读取q 将数据文件中的变量载入当前工
17、作空间将数据文件中的变量载入当前工作空间u load mydata 载入数据文件中的所有变量载入数据文件中的所有变量u load mydata A x 从数据文件中提取指定变量从数据文件中提取指定变量q 清除当前工作空间中的变量清除当前工作空间中的变量u clear 清除当前工作空间中的所有变量清除当前工作空间中的所有变量u clear A x 清除指定的变量清除指定的变量30q Matlab 的命令记忆功能:的命令记忆功能:上下箭头键上下箭头键q 命令补全功能:命令补全功能: Tab 键键 可以先输入命令的前几个字符,再按上下键缩小搜索范围可以先输入命令的前几个字符,再按上下键缩小搜索范围
18、q 用用 Esc 键键 删除命令行删除命令行31sin、cos、tan、cot、sec、csc、asin、acos、atan、acot、asec、acsc、exp、log、log2、log10、sqrtabs、conj、real、imagrank、det、inv、eig、lu、qr、svddiag、triu、tril、expm三角函数与反三角函数、指数函数、对数函数等q 基本函数基本函数利用函数建立数值矩阵:MATLAB提供了许多生成和操作矩阵的函数,可以利用它们去建立矩阵。例如: reshape函数和diag函数等。reshape函数用于建立数值矩阵。diag函数用于产生对角阵。32n利用M
19、文件建立矩阵:对于比较大且比较复杂的矩阵,可以为它专门建立一个M文件。其步骤为:n第一步:使用编辑程序输入文件内容。n第二步:把输入的内容以纯文本方式存盘(设文件名为 mymatrix.m)。n第三步:在MATLAB命令窗口中输入mymatrix,就会自动建立一个名为AM的矩阵,可供以后显示和调用。 利用利用M文件建立矩阵:文件建立矩阵:对于比较大且比较复杂的矩阵,可以为它专门建立一个M文件。其步骤为: 第一步:使用编辑程序输入文件内容。 第二步:把输入的内容以纯文本方式存盘(设文件名为mymatrix.m)。 第 三 步 : 在 M AT L A B 命 令 窗 口 中 输 入mymatri
20、x,就会自动建立一个名为AM的矩阵,可供以后显示和调用。 子矩阵操作(后面讲)子矩阵操作(后面讲)3334矩阵q 定义矩阵:直接输入法定义矩阵:直接输入法l 矩阵用方括号矩阵用方括号 “ ” 括起括起例:例: A = 1 2 3; 4 5 6; 7 8 9l 矩阵同一行中的元素之间用矩阵同一行中的元素之间用 空格空格 或或 逗号逗号 分隔分隔l 矩阵行与行之间用矩阵行与行之间用 分号分号 分开分开l 直接输入法中,分号可以用直接输入法中,分号可以用 回车回车 代替代替例:例:q Matlab 的操作对象是的操作对象是 l 35矩阵元素赋值q 矩阵元素可以是任何数值表达式矩阵元素可以是任何数值表
21、达式例:例: x=-1.3, sqrt(3), (1+2+3)*4/5q 矩阵元素的单独赋值矩阵元素的单独赋值例:例: x(5)=abs(x(1)例:例: x(5)=abs(x(6) ?自动将向量自动将向量 x 的长度扩展到的长度扩展到 5,并将未赋值部分置零。并将未赋值部分置零。36矩阵元素赋值q 大矩阵可以把小矩阵作为其元素大矩阵可以把小矩阵作为其元素例:例: A=A ; 11 12 13在原矩阵的下方加一行在原矩阵的下方加一行如何在原矩阵的右边添加一列?如何在原矩阵的右边添加一列?37矩阵元素的引用q 单个元素的引用单个元素的引用例:例: A(2,3)q 多个元素的引用:冒号的特殊用法多
22、个元素的引用:冒号的特殊用法利用小括弧和元素所在的位置利用小括弧和元素所在的位置(下标下标)x ( i ) :向量:向量 x 中的第中的第 i 个元素个元素A ( i, j ) :矩阵:矩阵 A 中的第中的第 i 行,第行,第 j 列元素列元素a:b:c产生一个由产生一个由等差序列等差序列组成的向量;组成的向量; a 是首项,是首项,b 是公是公差,差,c 确定确定最后一项;若最后一项;若 b=1,则,则 b 可以省略。可以省略。例:例: x=1:2:5 y=1:2:6例:例: x=2:1:5 y=2:5例:例: x=5:-1:138矩阵元素的引用例:例: x(1:3) A(3,1:3)A(i
23、:j, m:n) 表示由矩阵表示由矩阵 A 的第的第 i 到第到第 j 行和第行和第 m 到第到第 n列交叉线上的元素组成的列交叉线上的元素组成的子矩阵子矩阵。可利用冒号提取矩阵可利用冒号提取矩阵 的整行或整列。的整行或整列。例:例: A(1, :) A(:, 1:3) A(:, :)线性代数中的数值计算问题【引引 例例 】求下列三阶线性代数方程组的近似解5426255452321321321xxxxxxxxxMATLAB程序为:A=2 -5 4;1 5 -2;-1 2 4;b=5;6;5;x=Ab40 在MATLAB命令窗口,先输入下列命令构造系数矩阵A和右端向量b: A=2 -5 4;1
24、5 -2;-1 2 4 A = 2 -5 4 1 5 -2 -1 2 4 b=5;6;5 b = 5 6 5 然后只需输入命令x=Ab即可求得解x: x=Ab x = 2.7674 1.1860 1.348841一、 特殊矩阵的实现42 1.零矩阵零矩阵:所有元素值为零的矩阵称为零矩阵。零矩阵可以用zeros函数实现。zeros是MATLAB内部函数,使用格式如下: zeros(m):产生m*m阶零矩阵; zeros(m,n):产生m*n阶零矩阵,当m=n时等同于zeros(m); zeros(size(A):产生与矩阵A同样大小的零矩阵。一、 特殊矩阵的实现常见的特殊矩阵有零矩阵、幺矩阵、单
25、位矩阵、三角形矩阵等,这类特殊矩阵在线性代数中具有通用性;还有一类特殊矩阵在专门学科中有用,如有名的希尔伯特(Hilbert)矩阵、范德蒙(Vandermonde) 矩阵等。43 2.幺矩阵幺矩阵:所有元素值为1的矩阵称为幺矩阵。幺矩阵可以用ones函数实现。它的调用格式与zeros函数一样。 【例例1 1】 试用ones分别建立3*2阶幺矩阵、和与前例矩阵A同样大小的幺矩阵。 用ones(3,2) 建立一个3*2阶幺阵: ones(3,2) % 一个3*2阶幺阵 ans =1 1 1 1 1 1一、 特殊矩阵的实现44 3.单位矩阵单位矩阵:主对角线的元素值为1、其余元素值为0的矩阵称为单位
26、矩阵。它可以用MATLAB内部函数eye建立,使用格式与zeros相同。 4.数量矩阵数量矩阵:主对角线的元素值为一常数d、其余元素值为0的矩阵称为数量矩阵。显然,当d=1时,即为单位矩阵,故数量矩阵可以用eye(m)*d或eye(m,n)*d建立。一、 特殊矩阵的实现5.对角阵对角阵:对角线的元素值为常数、其余元素值为0的矩阵称为对角阵。我们可以通过MATLAB内部函数diag,利用一个向量构成对角阵;或从矩阵中提取某对角线构成一个向量。使用格式为diag(V)和diag(V,k)两种。45 6.用一个向量V构成一个对角阵 设V为具有m个元素的向量,diag(V)将产生一个m*m阶对角阵,其
27、主对角线的元素值即为向量的元素值;diag(V,k)将产生一个n*n(n=m+|k|,k为一整数)阶对角阵,其第k条对角线的元素值即为向量的元素值。注意:当k0,则该对角线位于主对角线的上方第k条;当k0,该对角线位于主对角线的下方第|k|条;当k=0,则等同于diag(V)。用diag建立的对角阵必是方阵。一、 特殊矩阵的实现【例例2 2】已知向量v,试建立以向量v作为主对角线的对角阵A;建立分别以向量v作为主对角线两侧的对角线的对角阵B和C。MATLAB程序如下:46 v =1;2;3; % 建立一个已知的向量A A=diag(v) A= 1 0 0 0 2 0 0 0 3 B=diag(
28、v,1) B = 0 1 0 0 0 0 2 0 0 0 0 3 0 0 0 0 C=diag(v,-1) C = 0 0 0 0 1 0 0 0 0 2 0 0 0 0 3 0% 按各种对角线情况构成相应的对角阵A、B和C一、 特殊矩阵的实现47 7.从矩阵中提取某对角线 我们也可以用diag从矩阵中提取某对角线构成一个向量。设A为m *n阶矩阵,diag(A)将从矩阵A中提取其主对角线产生一个具有min(m,n)个元素的向量。diag(A,k)的功能是: 当k0,则将从矩阵A中提取位于主对角线的上方第k条对角线构成一个具有n-k个元素的向量;当k0,则将从矩阵A中提取位于主对角线的下方第|
29、k|条对角线构成一个具有m+k个元素的向量;当k=0,则等同于diag(A)。一、 特殊矩阵的实现48 【例例3 3】 已知矩阵A,试从矩阵A分别提取主对角线及它两侧的对角线构成向量B、C和D。 MATLAB程序如下:A=1 2 3;4 5 6; % 建立一个已知的2*3阶矩阵A% 按各种对角线情况构成向量B、C和DB=diag(A)B = 1 5C=diag(A,1)C = 2 6D=diag(A,-1)D = 4一、 特殊矩阵的实现49 8.上三角阵:使用格式为triu(A)、triu(A,k) 设A为m*n阶矩阵,triu(A)将从矩阵A中提取主对角线之上的上三角部分构成一个m*n阶上三
30、角阵;triu(A,k)将从矩阵A中提取主对角线第|k|条对角线之上的上三角部分构成一个m*n阶上三角阵。注意:这里的k与diag(A,k)的用法类似,当k0,则该对角线位于主对角线的上方第k条;当k0,该对角线位于主对角线的下方第|k|条;当k=0,则等同于triu (A)一、 特殊矩阵的实现50 【例例4 4】试分别用triu(A)、triu(A,1)和、triu(A,-1)从矩阵A提取相应的上三角部分构成上三角阵B、C和D。 MATLAB程序如下: A=1 2 3;4 5 6;7 8 9;9 8 7; % 一个已知的4*3阶矩阵A % 构成各种情况的上三角阵B、C和D B=triu(A)
31、 B = 1 2 3 0 5 6 0 0 9 0 0 0 C=triu(A,1) D=triu(A,-1)一、 特殊矩阵的实现9.下三角阵:使用格式为tril(A)、tril(A,k)tril的功能是从矩阵A中提取下三角部分构成下三角阵。用法与triu相同。51 10.空矩阵空矩阵 在MATLAB里,把行数、列数为零的矩阵定义为空矩阵。空矩阵在数学意义上讲是空的,但在MATLAB里确是很有用的。例如 A=0.1 0.2 0.3;0.4 0.5 0.6; B=find(A1.0) B = 这里 是空矩阵的符号,B=find(A1.0)表示列出矩阵A中值大于1.0的元素的序号。当不能满足括号中的条
32、件时,返回空矩阵。另外,也可以将空矩阵赋给一个变量,如: B= 一、 特殊矩阵的实现5253常见矩阵生成函数zeros(m,n)生成一个 m 行 n 列的零矩阵,m=n 时可简写为 zeros(n)ones(m,n)生成一个 m 行 n 列的元素全为 1 的矩阵, m=n 时可写为 ones(n)eye(m,n)生成一个主对角线全为 1 的 m 行 n 列矩阵, m=n 时可简写为 eye(n),即为 n 维单位矩阵diag(X)若 X 是矩阵,则 diag(X) 为 X 的主对角线向量若 X 是向量,diag(X) 产生以 X 为主对角线的对角矩阵tril(A)提取一个矩阵的下三角部分tri
33、u(A)提取一个矩阵的上三角部分rand(m,n)产生 01 间均匀分布的随机矩阵 m=n 时简写为 rand(n)randn(m,n)产生均值为0,方差为1的标准正态分布随机矩阵m=n 时简写为 randn(n)其它特殊矩阵生成函数:magic、hilb、pascal二、矩阵的特征值 与特征向量54对于N*N阶方阵A,所谓A的特征值问题是:求数和N维非零向量x(通常为复数),使之满足下式:Ax=x则称为矩阵A的一个特征值(特征根),而非零向量x为矩阵A的特征值所对应的特征向量。对一般的N*N阶方阵A,其特征值通常为复数,若A为实对称矩阵,则A的特征值为实数。二、矩阵的特征值与特征向量55MA
34、TLAB提供的内部函数eig可以用来计算特征值与特征向量。eig函数的使用格式有五种,其中常见的有E=eig(A)、V,D=eig(A)和V,D=eig(A,nobalance)三种,另外两种格式用来计算矩阵的广义特征值与特征向量:E=eig(A,B)和V,D=eig(A,B)。二、矩阵的特征值与特征向量56 (1) E=eig(A):由eig(A)返回方阵A的N个特征值,构成向量E; (2) V,D=eig(A):由eig(A)返回方阵A的N个特征值,构成N*N阶对角阵D,其对角线上的N个元素即为相应的特征值,同时将返回相应的特征向量赋予N*N阶方阵V的对应列,且A、V、D满足AV=VD;
35、(3) V,D=eig(A,nobalance):本格式的功能与格式(2)一样,只是格式(2)是先对A作相似变换(balance),然后再求其特征值与相应的特征向量;而本格式则事先不作相似变换;二、矩阵的特征值与特征向量57(4) E=eig(A,B):由eig(A,B)返回N*N阶方阵A和B的N个广义特征值,构成向量E。(5) V,D=eig(A,B):由eig(A,B)返回方阵A和B的N个广义特征值,构成N*N阶对角阵D,其对角线上的N个元素即为相应的广义特征值,同时将返回相应的特征向量构成N*N阶满秩矩阵,且满足AV=BVD。二、矩阵的特征值与特征向量58 【例例5 5】试用格式(1)求
36、下列对称矩阵A的特征值;用格式(2)求A的特征值和相应的特征向量,且验证之。A = 1.0000 1.0000 0.5000 1.0000 1.0000 0.2500 0.5000 0.2500 2.0000 ; 执行eig(A)将直接获得对称矩阵A的三个实特征值:二、矩阵的特征值与特征向量59 eig(A) ans = -0.0166 1.4801 2.5365 而下列命令则将其三个实特征值作为向量赋予变量E: E=eig(A) E = -0.0166 1.4801 2.5365二、矩阵的特征值与特征向量60三、行列式的值61 MATLAB提供的内部函数det用来计算矩阵的行列式的值。设矩阵
37、A为一方阵(必须是方阵),求矩阵A的行列式值的格式为:det(A)。注意:本函数同样能计算通过构造出的稀疏矩阵的行列式的值。三、行列式的值【例例6 6】利用随机函数产生一个三阶方阵A,然后计算方阵之行列式的值。A=rand(3)A = 0.9501 0.4860 0.4565 0.2311 0.8913 0.0185 0.6068 0.7621 0.8214det(A)ans = 0.428962四、矩阵求逆及线性代 数方程组求解631 . 矩阵求逆矩阵求逆若方阵A,B满足等式A*B = B*A = I (I为单位矩阵)则称A为B的逆矩阵,或称B为A的逆矩阵。这时A,B都称为可逆矩阵(或非奇异
38、矩阵、或满秩矩阵),否则称为不可逆矩阵(或奇异矩阵、或降秩矩阵)。四、矩阵求逆及其线性代数方程组求解64 【例例7 7】试用inv函数求方阵A的逆阵A-1赋值给B,且验证A与A-1是互逆的。A=1 -1 1;5 -4 3;2 1 1;B=inv(A)B = -1.4000 0.4000 0.2000 0.2000 -0.2000 0.4000 2.6000 -0.6000 0.2000A*Bans = 1.0000 0.0000 0.0000 0.0000 1.0000 0.0000 0.0000 0.0000 1.0000B*Aans = 1.0000 0.0000 0.0000 0.000
39、0 1.0000 0.0000 0.0000 0.0000 1.0000四、矩阵求逆及其线性代数方程组求解652. 矩阵求逆解法矩阵求逆解法利用求系数矩阵A的逆阵A-1,我们可以得到矩阵求逆解法。对于线性代数方程组Ax=b,等号两侧各左乘A-1,有:A-1Ax=A-1b由于A-1A=I,故得:x=A-1b四、矩阵求逆及其线性代数方程组求解66 【例例8 8】试用矩阵求逆解法求解矩阵A为系数矩阵的线性代数方程组Ax=b的解。 A=1 -1 1;5 -4 3;2 1 1; b=2;-3;1; x=inv(A)*b x = -3.8000 1.4000 7.2000四、矩阵求逆及其线性代数方程组求解
40、67 3. 直接解法直接解法 对于线性代数方程组Ax=b,我们可以运用左除运算符“”象解一元一次方程那样简单地求解:x=Ab 当系数矩阵A为N*N的方阵时,MATLAB会自行用高斯消去法求解线性代数方程组。若右端项b为N*1的列向量,则x=Ab可获得方程组的数值解x(N*1的列向量);若右端项b为N*M的矩阵,则x=Ab可同时获得同一系数矩阵A、M个方程组数值解x(为N*M的矩阵),即x(:,j)=Ab(:,j),j=1,2,M。四、矩阵求逆及其线性代数方程组求解68132321112345111xxx543321112345111yyy四、矩阵求逆及其线性代数方程组求解69 解法解法1:分别
41、解方程组 (1)Ax=b1;(2)Ay=b2 A=1 -1 1;5 -4 3;2 1 1; b1=2;-3;1; b2=3;4;-5; x=Ab1 x = -3.8000 1.4000 7.2000y=Ab2 -3.6000 -2.2000 4.4000得两个线性代数方程组的解: (1) x1= -3.8, x2= 1.4, x3= 7.2; (2) y1= -3.8, y2= 1.4, y3= 7.2四、矩阵求逆及其线性代数方程组求解70 解法解法2:将两个方程组连在一起求解:Az=b b=2 3;-3 4;1 -5 z=Ab z = -3.8000 -3.6000 1.4000 -2.20
42、00 7.2000 4.4000 很明显,这里的解z的两个列向量便是前面分别求得的两组解x和y四、矩阵求逆及其线性代数方程组求解71 例1 设x为二维平面上第一象限中的一个单位方块,其四个顶点的数据可写成 把不同的A矩阵作用于此组数据,可以得到多种多样的结果yi=Ai*x。用程序实现变换计算,并画出x及yi图形: x0,1,1,0;0,0,1,1; subplot(2,3,1), fill(x(1,:),0,x(2,:),0,r) A11,0;0,1, y1A1*xsubplot(2,3,2), fill(y1(1,:),0,y1(2,:),0,g) 721 平面上线性变换的几何意义平面上线性
43、变换的几何意义 01100011x73 图 9.1 对单元方格进行几种线性变换后生成的图形 74几种变换的行列式与特征值几种变换的行列式与特征值 1 01det( 1)1,111 ,1 0 1 0 1 2det( 2)1.5,21.0 1.5 ,2 1 0 0 13det( 3)0.2, 30.2 1.0 , 3 1 0 1.0 1.04det( 4)1,411 ,4 0. DApDApDApDAp 0. 0.7071 0.7071 51,50.866 + 0.5i 0.8660.5i ,500.7071i 0 + 0.7071iDp 可以看出,矩阵A1使原图对纵轴生成镜像,矩阵A2使原图在横轴方向膨胀,矩阵A3使原图在纵轴方向压缩,矩阵A4使原图向右方剪切变形,矩阵A5使原图沿反时针方向旋转tpi/6。分别计算出这五个矩阵的行列式和特征值; 对二维空间(平面),一个变换所造成的图形的面积变化,取决于该变换的行列式。A1,A4和A5的行列式绝对值都是1,所以它们不会使变换后图形的面积发生改变。而A2和A3的行列式分别为1.5和0.2, 75看
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 小学科学二年级下册《磁铁的秘密》探究教案
- 北师大版初中七年级英语下册Unit 3 Rain or Shine跨学科主题学习教案
- 2026年宁夏体育职业学院教师招聘考试参考试题及答案解析
- 2026年河北司法警官职业学院教师招聘考试备考试题及答案解析
- 初中历史七年级下册《明朝的统治》单元教案
- 2026年机关单位人事招聘登记记录表
- 小学数学六年级下册“自行车里的数学”跨学科项目式学习教学设计
- 小学五年级数学上册核心素养导向下的大单元专题突破教学方案
- 初中七年级英语下册《今昔变迁:探索我们城镇的发展》单元教学设计与实施
- 初中地理七年级下册:区域地理方法论视域下的“澳大利亚”大概念深度教学与跨学科实践导学案
- 2026届新高考地理热点复习-青藏高原的自然地理特征
- 2026年一级建造师之一建建设工程经济考试题库附答案【满分必刷】
- 人工智能支持下的高职教师教学创新团队构建与发展机制探究
- 燃气公司笔试题型及答案
- 医疗美容设备售后服务质量提升工作方案
- 小班英语试题及答案
- 下肢深静脉血栓形成介入治疗护理实践指南(2025)解读 4
- 航海船舶事故应急预案
- GB/T 46259-2025粽子质量通则
- 2025年教师招聘考试(小学数学)模拟试题及答案
- 金融学基础 课件 第十二章 金融风险与金融监管
评论
0/150
提交评论