收藏 分销(赏)

matlab详细教学.ppt

上传人:快乐****生活 文档编号:2271835 上传时间:2024-05-24 格式:PPT 页数:347 大小:8.93MB
下载 相关 举报
matlab详细教学.ppt_第1页
第1页 / 共347页
matlab详细教学.ppt_第2页
第2页 / 共347页
matlab详细教学.ppt_第3页
第3页 / 共347页
matlab详细教学.ppt_第4页
第4页 / 共347页
matlab详细教学.ppt_第5页
第5页 / 共347页
点击查看更多>>
资源描述

1、数值计算软件实践第一讲 绪论数值计算软件的产生原因和应用领域。典型数值计算软件的基础知识。我们要学习的数值计算软件是工程科学工程科学界界的周润发。1.现实中的一些问题S矩阵运算z加减z乘z除z逆z112822.现实中的一些问题S函数图形的绘制zy=sin(t);y=cos(t)zS数据处理z插值、拟合z数值积分、微分zS微分方程的数值解3.现实中的一些问题S物理现象的数值模拟zBP墨西哥湾漏油事件S控制系统的设计4.数值计算软件实践目标:了解MATLAB,利用该软件进行矩阵运算,简单编程,简单的数据处理,基本图形绘制,了解动态系统仿真工具。MATLAB是学习和科研的工具工具。(一)概述(一)概

2、述(二)(二)MATLAB基基础知知识(三)矩(三)矩阵与数与数组(四)(四)绘图功能功能(五)数(五)数值与符号运算与符号运算(六)(六)M语言程序与言程序与图形用形用户界面界面设计(七)(七)Simulink仿真仿真环境境5.1 MATLAB基础知识SMATLAB是MathWorks公司开发的科学与工程计算软件,它以矩阵运算为基础,把计算、绘图及动态系统仿真等功能有机地融合在一起,同时,它又具有程序设计语言(M语言)的基本特征。S它将一个优秀软件的易用性与可靠性、通用性与专业性、一般目的的一般目的的应用用与高深的科学技高深的科学技术应用用有机的结合。6.1.1 MATLAB简介S1980年

3、,美国新墨西哥大学计算机科学系主任Cleve着手编写供学生使用的子程序接口程序S设计者的初衷是为解决线性代数性代数课程的矩阵运算问题S取名MATLAB即MATrixLABoratory矩阵实验室S1984年,推出了MATLAB第一个商业版本7.1.1 MATLAB简介S1992年MATLAB4.0版;S1997年MATLAB5.0版;S2000年MATLAB6.0版;S2004年MATLAB7.0版;S2005年MATLAB7.1版;S随后每年发布两次以年份命名的版本:z如R2006a、R2006b、R2007a、R2007b和最新的版本R2010a。8.1.1 MATLAB简介SMATLAB

4、的应用:z数值和符号计算z工程与科学绘图z控制系统的设计与仿真z动态系统建模、分析和仿真z通讯系统设计与仿真z数字图像处理z数字信号处理z财务与金融工程z9.1.2 MATLAB安装S普通PC基本都能满足MATLAB的安装环境要求和安装普通软件没有任何区别!10.1.3 MATLAB集成开发环境11.1.3.1 工作界面S工作界面z菜单z工具栏z命令窗口z历史命令窗口z当前工作目录窗口z工作空间窗口12.1.3.2 命令窗口SCommandWindowS用于输入命令入命令并显示除图形以外的所有执行结果。SMATLAB用“”作为运算提示符,表明系统处于准备状态。S当在提示符后输入一段程序或一段运

5、算式后回车,MATLAB会给出计算结果,并再次进入准备状态。13.1.3.2 命令窗口S命令以回车结束。命令之间以逗号逗号或者分号分号分隔。z例如:x=720,y=86x=720y=86x=720;y=86y=86S若一个命令行很长,可以使用续行符,即三个三个小黑点。z例如:z=1+1/(1*2)+1/(1*2*3)+.1/(1*2*3*4*5)命令输入采用英文字符英文字符14.1.3.2 命令窗口S单击命令窗口右上角的“”按钮,可以使命令窗口脱离主窗口而成为一个独立的窗口。15.1.3.3 历史命令窗口SCommandHistoryS用于记录所有执行过的命令(可以单个或全部删除)S标明使用时

6、间(启启动软件件时的的时刻,只刻,只标一次一次)S可以通过用鼠标双双击某一历史命令来重新执行该命令S可以成为一个独立的窗口通过小键盘上的“”和“”键可以在命令窗口命令窗口中依次依次显示一行一行历史命令16.1.3.4 工作空间窗口SWorkspaceS工作空间窗口将显示当前当前内存内存中所有的MATLAB变量的变量名、数据结构、字节数以及类型等信息。17.1.3.4 当前工作目录SCurrentDirectoryS当前工作目录是指MATLAB运行文件时的目录。只有在当前工作目录或搜索路径下的文件、函数才可以被运行或调用。S如果没有特殊指明,数据文件也将存放在当前目录下。18.1.3.5 Sta

7、rt按钮SStart按钮19.1.4 MATLAB通用命令S通用命令是MATLAB中经常使用的一组命令,这些命令可以用来管理目录、函数、变量、工作空间、文件和窗口等。z常用命令z输入内容的编辑z操作符和运算符z搜索路径与扩展20.1.4.1 常用命令helphelp在在线帮助文件帮助文件doc装入超文本说明whatM、MAT、MEX文件的目录列表type列出M文件demo运行演示程序path控制MATLAB的搜索路径who列出当前变量whos列出当前变量(长表)load从磁盘文件中恢复变量save保存工作空间变量pack整理工作空间内存clearclear从内存中清除从内存中清除变量和函数量和

8、函数cd改变当前工作目录dir目录列表!执行DOS操作系统命令clcclc清命令窗口清命令窗口home光标置左上角format设置输出格式quit退出MATLABinfo显示系统和公司信息subscribe成为MATLAB的订购用户hostidMATLAB主服务程序的识别代号whatsnew在说明书中未包含的新信息ver版本信息21.1.4.2 输入内容的编辑S命令窗口中,MATLAB提供了控制光标位置和进行简单编辑的键盘按键,部分常用的键盘按键及其功能如下表所示。22.1.4.3 操作符和运算符+加减*矩阵乘法.*数数组乘法乘法矩矩阵幂.数数组幂左除或反斜杠左除或反斜杠/右除或斜杠右除或斜杠

9、./数数组除除KronKronecker张量量积:冒号冒号()圆括号,指定运算的优先级 方括号,定义矩阵.小数点小数点.父目父目录续行符号行符号,逗号逗号;分号,区分行及取消运行结果显示%注释标记!感感叹号号转置或引用置或引用=赋值=相等关系操作符关系操作符&逻辑与与|逻辑或或逻辑非非xor逻辑异或异或23.1.4.3 操作符和运算符S常用运算的MATLAB表示数学表示数学表示MATLAB表示表示24.1.4.4 搜索路径与扩展S当用户在命令窗口输入一条命令后,MATLAB将按照下列顺序搜索所输入的命令:z检查该命令是不是一个变量。z检查该命令是不是一个内部函数。z检查该命令是否为当前目录下的

10、M文件。z检查该命令是否为搜索路径中其他目录下的M文件。z都找不到时系统将报错!25.1.4.4 搜索路径与扩展S查看搜索路径z选择MATLAB主窗口中的【File】|【SetPath】菜单,进入【设置搜索路径】对话框。通过该对话框可为MATLAB添加或删除搜索路径。S自己书写的函数有可能并没有保存在搜索路径下。要解决这个问题,只需把程序所在的目录扩展成搜索路径即可。26.1.4.4 搜索路径与扩展S扩展展搜索路径z选择主窗口中的【File】|【SetPath】|【AddFolder】。z在命令窗口执行“path(path,D:Study)”。z在命令窗口执行“addpathD:Study-e

11、nd”,将新的目录加到整个搜索路径的末尾。如果将end改为begin,可以将新的目录加到整个搜索路径的开始。27.1.5 帮助系统SMATLAB为用户提供了非常完善非常完善的帮助系统。z联机帮助系统z命令窗口查询帮助系统z联机演示系统(Demo)Demo给了大家一个模仿提高的机会一定好好利用!28.1.5.1 联机帮助系统S进入联机帮助系统有四种方法z按F1键z选择Help菜单中的“MATLABHelp”选项。z单击主窗口工具栏中的Help按钮(小问号)。z在命令窗口中输入“helpwin”、“helpdesk”或“doc”命令。29.1.5.2 命令窗口查询帮助系统S帮助命令zhelp命令z

12、查询函数语法的最基本方法z结果直接显示在命令窗口。z通过help加函数名来显示该函数的帮助说明。z例如,为了显示sin函数的使用方法与功能helpsinzlookfor命令z该命令可以帮助用户了解函数的用法。例如,输入命令lookforsin30.1.5.3 联机演示系统S进入联机演示系统的方法z选择MATLAB主窗口菜单的【Help】|【Demos】选项;z在命令窗口输入demos;z直接在帮助页面上选择Demos页。31.1.6 MATLAB 示例S下面以一个简单的例子展示如何使用MATLAB进行简单的应用。32.1.6.1 数值计算S求解线性方程组z在MATLAB命令窗口输入命令:za=

13、2,3,-1;3,-5,3;6,3,-8;zb=7;8;9;zx=inv(a)*bS也可以通过符号计算来解此方程zsymsx1x2x3zx1,x2,x3=solve(2*x1+3*x2-x3-7,3*x1-5*x2+3*x3-8,6*x1+3*x2-8*x3-9)33.1.6.2 绘图功能S绘制函数y=300sin(x)/x和y=x2的曲线S只需要在命令窗口中输入:zx=-20:0.1:20;zplot(x,300*sin(x)./x,:,x,x.2);34.1.6.3 编程计算S汽车性能计算软件35.小结S初步了解MATLAB。S熟悉MATLAB界面,进行简单操作。36.数值计算软件实践第二

14、讲 基础知识介绍MATLAB的变量、数据类型以及矩阵基本操作。37.2.1 MATLAB的变量S2.1.1变量命名与赋值S2.1.2预定义变量S2.1.3变量的管理38.2.1.1 变量命名与赋值S变量命名z在MATLAB中,变量名是以字母开头,后接字母、数字或下画线的字符序列,最多63个字符。例如:x、x_1、xy1z在MATLAB中,变量名区分字母的大小写。不支持中中文文字字符符语句39.2.1.1 变量命名与赋值S赋值zMATLAB赋值语句有两种格式:变量名=表达式;在该语句形式下,MATLAB将右表达式的值赋给左边的变量。表达式表达式;在该语句形式下,MATLAB将表达式的值赋给的预定

15、义变量ans。z注释以%开头。%注释支持中文吗?40.2.1.2 预定义变量S预定义变量可以被重新赋值。41.2.1.3 变量的管理S显示示内存变量z显示在工作空工作空间中已经驻留的变量清单。z主要命令:qwho%显示示变量名量名qwhoszwhos在给出变量名的同时,还给出它们的维数、所占字节数以及变量的类型。42.2.1.3 变量的管理S删除除MATLAB工作空间中的变量z全部删除命令:clearS工作空间窗口专门用于内存变量的管理。S变量编辑器ArrayEditor43.2.1.3 变量的管理S保存保存内存变量z利用MAT文件可以把当前工作空间中的一些有用变量长久地保留下来。zMAT是M

16、ATLAB保存数据的一种标准格式二进制文件,扩展名是.mat。兼容性不好44.2.1.3 变量的管理S点击工作空间窗口的save按钮则保存所有变量S命令命令生成与导入MAT文件zsave文件名变量名表load文件名变量名表z例如:savemydataabloadmydataz实现变量定点定点保存45.2.2 MATLAB的数据类型S2.2.1数值类型S2.2.2逻辑类型S2.2.3字符类型和字符串S2.2.4结构体类型46.2.2.1 数值类型S数值的类型z整数z浮点数zInfzNaNS数值的输出格式47.2.2.1 数值类型S整数zMATLAB支持1、2、4和8字节的有符号整数和无符号整数。

17、z数据类型的名称、表示范围和转换函数函数如下表所示:48.2.2.1 数值类型S浮点数zMATLAB有单精度和双精度两种浮点数。z浮点数的存储空间、表示范围和转换函数如下表所示:49.2.2.1 数值类型SInf(inf)&NaNzInf和-Inf分别表示正无穷大和负无穷大。除法运算中除数为0或者运算结果溢出都会导致Inf或-Inf的运行结果。zNaN在MATLAB中表示一个既不是实数也不是复数的数值。MATLAB 对除数为0的情况会发出警告但运算仍可进行50.2.2.1 数值类型S数值的输出格式S用“format”命令设置数值输出格式。zformat格式符格式符短格式短格式(short)短格

18、式短格式e方式方式(shorte)长格式格式(long)长格式格式e方式方式(longe)银行格式行格式(bank)十六十六进制格式制格式(hex)S“format”命令只影响数值的输出格式出格式,而不影响数据的计算和存储。Whatyousee!51.2.2.2 逻辑类型SMATLAB中的逻辑类型(logical)包含true和false,分别由1和0表示。在MATLAB中用函数logical()将任何非零的数非零的数值转换为true(即1),将数数值0转换为false(即0)。52.2.2.3 字符类型和字符串S在MATLAB中,数据类型(char)表示一个字符。S一个char类型的1n数组

19、称为字符串string。53.2.2.4 结构体类型S结构体类型是一种由若干属性(field)组成的MATLAB数组,其中的每个属性可以是任意数据类型。54.2.3 MATLAB矩阵及其基本操作S在MATLAB中,所有的数据均以二维、三维或高维矩阵的形式存储,每个矩阵的单元可以是数值类型、逻辑类型、字符类型或者其他任何数据类型。S2.3.1矩阵的构造S2.3.2矩阵大小的改变S2.3.3矩阵元素的操作S2.3.4矩阵信息的获取S2.3.5矩阵结构的改变55.2.3.1 矩阵的构造S简单矩阵构造S特殊矩阵构造S行向量构造56.2.3.1 矩阵的构造S简单矩阵构造zMATLAB矩阵构造符为“”。同

20、一行元素依次放入矩阵构造符内,并且以空格空格或者逗逗号号分隔;行与行之间用分号分号分隔。z在MATLAB中,生成矩阵时无须对矩阵的维数和类型进行说明,MATLAB会根据用户所输入的内容自动进行配置。z矩阵元素也可是表达式(MATLAB将自动计算结果)57.2.3.1 矩阵的构造S简单矩阵构造z已建好的小矩小矩阵可拼接成大矩大矩阵,从而利用已建好的矩阵建立更大的矩阵。58.2.3.1 矩阵的构造S特殊矩阵构造z在MATLAB中还提供一些函数函数用来构造特殊矩阵。59.2.3.1 矩阵的构造S特殊矩阵构造(续表)60.2.3.1 矩阵的构造S特殊矩阵构造示例61.2.3.1 矩阵的构造S行向量构造

21、zMATLAB提供了向量构造符“:”。z常用的用法如下:a:b以a为起点,且所有取值在a与b之间的向量。a:s:b返回以a为起点,以s为步长,且所有取值在a与b之间的向量。默默认步步长是是1 162.2.3.2 矩阵大小的改变S矩阵的合并合并S矩阵行列的删除除63.2.3.2 矩阵大小的改变S矩阵的合并z使用构造符“”z矩阵合并函数64.2.3.2 矩阵大小的改变S矩阵行列的删除z将要删除矩阵的行或者列赋予一个空矩阵。z命令为:删除行q矩阵名(n,:)=删除列q矩阵名(:,n)=65.2.3.3 矩阵元素的操作S本小节将介绍存取矩阵元素元素值的方法。z访问单个元素z线性引用元素z访问多个元素6

22、6.2.3.3 矩阵元素的操作S访问单个元素z对于二维矩阵A,访问其第m行第n列元素的命令:A(m,n)z对元素进行重新赋值的命令:A(m,n)=5567.2.3.3 矩阵元素的操作S线性引用元素z对于矩阵A,线性引用元素格式为A(k)。通常用于行向量或列向量,也可用于二维矩阵。zMATLAB按列优先排列的一个长列向量格式(线性引用元素)来存存储矩阵元素。68.2.3.3 矩阵元素的操作S访问多个元素z操作符“:”z若A是二维矩阵,其主要用法如下:A(:,:)返回矩阵A的所有元素A(i,:)返回矩阵A第i行的所有元素A(i,k1:k2)返回矩阵A第i行的自k1到k2列的所有元素A(:,j)返回

23、矩阵A第j列的所有元素A(k1:k2,j)返回矩阵A第j列的自k1到k2行的所有元素z若A是多维矩阵,也可以通过类似的方法实现对其访问。69.2.3.4 矩阵信息的获取S本小节介绍如何获取矩阵的信息。z矩阵尺寸信息z元素的数据类型z矩阵的数据结构70.2.3.4 矩阵信息的获取S矩阵尺寸信息z矩矩阵尺寸函数尺寸函数71.2.3.4 矩阵信息的获取S元素的数据类型z元素数据类型函数72.2.3.4 矩阵信息的获取S矩阵的数据结构z数据结构函数73.2.3.5 矩阵结构的改变S改变矩阵结构的函数74.小结SMATLAB的变量SMATLAB的数据类型SMATLAB的矩阵基本操作75.数值计算软件实践

24、第三讲 矩阵与数组介绍MATLAB中的矩阵和数组常规运算法则,多项式的相关运算,矩阵的特征分析和分解。76.主要内容S3.1矩阵运算S3.2数组运算S3.3多项式运算S3.4线性方程组求解S3.5特殊矩阵生成S3.6矩阵分析S3.7矩阵分解S3.8矩阵的特征值和特征向量S3.9矩阵相似变换77.3.1 矩阵运算S3.1.1矩阵加、减(,)运算S3.1.2矩阵乘(*)运算S3.1.3矩阵除(/,)运算S3.1.4矩阵乘方An,apS3.1.5矩阵关系运算符S3.1.6矩阵逻辑运算符78.3.1.1 矩阵加、减(,)运算S两矩阵对应元素元素相加减。S标量可以和任意矩阵相加减,且与所有元素分别进行加

25、减操作。79.3.1.2 矩阵乘(*)运算SA*B:A矩阵的列数列数必须等于B矩阵的行数行数S标量则与任意矩阵的所有元素相乘。80.3.1.3 矩阵除(/,)运算S矩阵右除法右除法(A/B)结果等效于(BA)S矩阵左除法左除法(AB)如果除法中有一如果除法中有一个是个是标量量a,A/aaAa/AAa是否等价?是否等价?AB的的结果果是是AX=B解解Error81.3.1.4 矩阵乘方(An,ap)SAn:表示A自乘n次幂;S如果p是矩阵,a是标量,ap使用特征特征值和特特征向量征向量自乘到p各元素次幂。乘方运算乘方运算比比较费时间82.3.1.5 矩阵关系运算符S矩阵关系运算符S矩阵与矩阵关系

26、:两个矩阵长度相同度相同,对应元素比较,返回具有相同长度的矩阵;S矩阵与标量关系:标量与矩阵的所有元素所有元素进行运算。83.3.1.5 矩阵关系运算符S关系运算的运算结果只有0和1两种情况S0:不满足条件S1:满足条件S不能进行运算时MATLAB将报错84.3.1.6 矩阵逻辑运算符SMATLAB提供元素方式元素方式和比特方式比特方式逻辑运算符。S元素方式元素方式逻辑运算符:85.3.1.6 矩阵逻辑运算符S比特方式比特方式逻辑运算符只接受逻辑和非和非负整数整数类型的输入变量,它是针对输入变量的二二进制制表示进行逻辑运算。86.3.2 数组运算S数组运算指矩阵元素和元素元素和元素之间的算术运

27、算S3.2.1数组加减(+,-)S3.2.2数组乘除(,/,)S3.2.3数组乘方()S3.2.4运算优先级87.3.2.1 数组加减(+,-)S对应元素相加减(与矩阵加减等效)88.3.2.2 数组乘除(*,./,.)S数组乘(.*)点乘z数组对应元素相乘元素相乘z数组必须有相同的行和列相同的行和列89.3.2.2 数组乘除(,./,.)SA./B=B.AA的元素被B的对应元素除SB./A=A.BB的元素被A的对应元素除给出出A A,B B对应元素元素间的商的商90.3.2.3 数组乘方()S元素元素对元素元素的幂91.3.2.4 运算优先级S运算符的优先级决定表达式求值顺序92.3.2.4

28、 运算优先级S优先级不同先进行优先高的运算S优先级相同从左到右依次进行运算S可以用括号括号来改变默认的运算顺序推荐利用括号来保推荐利用括号来保证运算运算顺序正确序正确93.3.3 多项式运算S3.3.1多项式表示法S3.3.2多项式求值S3.3.3多项式求根S3.3.4多项式乘法和除法S3.3.4多项式微积分94.3.3.1 多项式表示法S多项式表示S行向量行向量,其元素中按多项式降幂排列。S例如:f(x)=anxn+an-1xn-1+a0行向量行向量:anan-1a0S函数poly2str()将多项式系数向量转换为完整形式。zf,len=poly2str(A,x);95.3.3.2 多项式求

29、值S函数polyval()用来计算多项式的值Sy=polyval(p,x)%p为多项式系数行向量,x代入多项式的值。SY=polyvalm(p,X)%把矩阵X代入多项式p中进行计算。96.3.3.3 多项式求根S多项式求根Sr=roots(a)%结果以列向量列向量形式显示所有根。S函数poly()实现由根创建多项式Sp=poly(r)%输入r是多项式所有根,返回值为多项式的系数向量。97.3.3.4 多项式乘法和除法S函数命令conv()和deconv()进行多项式乘法和除法Sw=conv(u,v)%返回结果多项式相乘后的系数系数行向量。Sq,r=deconv(u,v)%q为u除v后的整数,r

30、为余数。98.3.3.4 多项式微积分S多项式的微分S函数polyder()zk=polyder(p)%返回多项式p微分的系数向量zk=polyder(a,b)%返回多项式a*b微分的系数向量zq,d=polyder(a,b)%返回多项式a/b微分的系数向量,q为分子,d为分母99.3.3.4 多项式微积分S多项式积分S函数polyint()计算多项式的不定积分Ss=polyint(p,k k)%返回多项式p不定积分的系数向量系数向量。100.3.4 线性方程组求解S3.4.1矩阵求逆与线性代数方程组求解S3.4.2利用左除运算符求解线性方程组101.3.4.1 矩阵求逆及线性代数方程组求解S

31、矩矩阵求逆求逆Sinv(A)%计算方阵A的逆矩阵S利用矩阵求逆方法解线性方程组Ax=b102.3.4.2 利用左除运算符求解线性方程组S对于线性方程组Ax=b,可以利用左除运算符“”求解:x=Ab。左除法要比求逆法耗左除法要比求逆法耗时略多略多103.3.5 特殊矩阵生成S3.5.1通用的特殊矩阵S3.5.2面向特定应用的特殊矩阵104.3.5.1 通用的特殊矩阵S函数zeros全0矩阵。S函数ones全1矩阵。S函数eye单位矩阵。S函数rand产生01均匀分布的随机矩阵。S函数randn产生均值为0、方差为1的标准正态分布随机矩阵。105.3.5.2 面向特定应用的特殊矩阵S魔方矩魔方矩阵

32、,即每行、每列及两条对角线上的元素和都相等。S函数magic(n),其功能是生成一个n阶魔方阵。S范德蒙范德蒙(Vandermonde)矩阵的最后一列全为1,倒数第倒数第二列二列为一个指定的向量一个指定的向量,其他各列是其后列与倒数第二列的点乘积。S函数vander(V)生成以向量向量V V为基础向量的范得蒙矩阵。106.3.5.2 面向特定应用的特殊矩阵S托普利托普利兹(Toeplitz)矩阵除第一行第一列外,其他每个元素都与左上角的元素相同。S函数是toeplitz(x,y)生成以x为第一列、y为第一行的托普利兹矩阵。这里x、y均为向量,两者不必等长。toeplitz(x)用向量x生成一个

33、对称的托普利兹矩阵。S希希尔伯特伯特(Hilbert)矩阵是一种数学变换矩阵,它的每个元素hij=1/(i+j1)。S函数是hilb(n)。invhilb(n)为专门求希尔伯特矩阵的逆的函数。107.3.5.2 面向特定应用的特殊矩阵S帕斯卡帕斯卡(Pascal)矩阵是由杨辉三角形表组成的矩阵。函数pascal(n)生成一个n阶帕斯卡矩阵。108.3.6 矩阵分析S3.6.1向量间的距离S3.6.2矩阵的秩S3.6.3矩阵的行列式S3.6.4矩阵的迹S3.6.5矩阵的化零矩阵S3.6.6矩阵的正交空间109.3.6.1 向量间的距离SMATLAB函数norm求向量间距离norm(a)norm(

34、a,2)110.3.6.2 矩阵的秩S矩阵A中线性无关的列向量个数称为列秩,线性无关的行向量个数称为行秩。列秩与行秩是相等的。S函数rank()计算矩阵的秩。111.3.6.3 矩阵的行列式SMATLAB提供了det()函数来求矩阵的行列式。112.3.6.4 矩阵的迹S矩阵的迹指矩阵对角元素之和。S在MATLAB中用函数trace()来计算矩阵的迹。113.3.6.5 矩阵的化零矩阵S对于非满秩矩阵A,若存在矩阵Z使得AZ=0且ZTZ=I,则称矩阵Z为矩阵A的化零矩化零矩阵。S在MATLAB中用函数null()来计算矩阵的化零矩阵。114.3.6.6 矩阵的正交空间S矩阵A的正交空间Q满足Q

35、TQ=I,且矩阵Q与A具有相同的列基底。S在MATLAB中用函数orth()来计算矩阵的正交空间。BTB115.3.7 矩阵分解S矩阵分解是指根据一定的原理用某种算法将一个矩阵分解成若干个矩阵的乘积。S3.7.1LU分解S3.7.2QR分解S3.7.3Cholesky分解116.3.7.1 LU分解S矩阵的LU分解又称Gauss消去分解或三角分解,就是将一个方阵表示为一个行交换下三角矩阵和一个上三角矩阵的乘积形式。S函数luzL,U=lu(X)%X=LU,上三角阵U和一个变换形式的下三角阵L(行交换)zL,U,P=lu(X)%PX=LU,上三角阵U和一个下三角阵L以及一个置换矩阵P117.3.

36、7.2 QR分解S对矩阵X进行QR分解,就是把X分解为一个正交矩阵Q和一个上三角矩阵R的乘积形式。S函数qrzQ,R=qr(X)%X=QR,正交矩阵Q和一个上三角矩阵RzQ,R,E=qr(X)%XE=QR,正交矩阵Q、一个上三角矩阵R以及一个置换矩阵E118.3.7.3 Cholesky分解SCholesky分解是把对称正定矩阵A表示为上三角矩阵R的转置与其本身的乘积,即A=RTR。S函数cholzR=chol(X)%RR=X。zR,p=chol(X)%当X为对称正定的,则p=0,R与上述格式得到的结果相同;否则p为一个正整数。如果X为满秩矩阵,则R为一个阶数为p1的上三角阵。119.3.8

37、矩阵的特征值和特征向量S方阵A的特征值和其对应的特征向量X满足式:A*X=*X。S函数eig()%计算特征值和其对应的特征向量zd=eig(A)%返回A的特征特征值。zV,D=eig(A)%返回A的特征特征值D和特征向量和特征向量V。120.3.9 矩阵相似变换S矩阵相似变换是指,对于方阵A和非奇异矩阵B可得到相似矩阵X=B-1*A*B。S3.9.1对角阵变换S3.9.2Jordan变换121.3.9.1 对角阵变换S对于方阵A,若VD=eig(A)得到的矩阵V非奇异,则A可经过相似变换得到对角阵,即D=V-1*A*V,也称矩阵A可对角化。V-1*A*V122.3.9.2 Jordan变换S对

38、于方阵A,若VD=eig(A)得到的矩阵V奇异,则A经过相似变换将不能得到对角阵,只能得到其对应的Jordan标准型。S函数jordan():zV,D=jordan(A)%满足D=V-1*A*V。zD=jordan(A)%返回矩阵A对应的Jordan标准型。123.小结S本节介绍了MATLAB矩阵与数值运算功能,通过学习应该做到:z掌握矩阵及数组运算(+、-、*)z了解多项式运算z掌握线性方程组求解方法z了解特殊分析与分解命令z了解矩阵的特征值和特征向量的求法z了解矩阵的变换命令124.数值计算软件实践第四讲 绘图功能MATLAB有着强大的函数绘图功能,不需要过多地考虑绘图细节,只需给出一些基

39、本参数就能得到所需图形。125.主要内容S4.1二维绘图S4.2三维绘图S4.3图形窗口*126.4.1 二维绘图S二维图形的绘制是MATLAB语言图形处理的基础。S4.1.1二维图绘制与修饰S4.1.2特殊二维绘图函数S4.1.3函数fplotS4.1.4函数ezplot127.4.1.1 二维图绘制与修饰Splot(x)%x为向量,x的元素元素值为纵坐坐标。Splot自动打开一个图形窗口Figure。S如果图形窗口已经存在,plot则清除清除当前图形,绘制新图形。128.4.1.1 二维图绘制与修饰Splot(x,y)%基本格式,以y(x)的函数关系作出直角坐标图,如果y为nm的矩阵,则以

40、x为自变量,作出m条曲线。129.4.1.1 二维图绘制与修饰Splot(x,y,s)%字符串字符串s用来定义曲线特征。130.4.1.1 二维图绘制与修饰Splot(x,y,s)%s可以是各种选项的组合合。m-rok131.4.1.1 二维图绘制与修饰S单窗口多曲线绘图Splot(x1,y1,x2,y2,)%多曲线绘图格式plot(t,y,y1,y2)132.4.1.1 二维图绘制与修饰S单窗口多曲线分分图绘图Ssubplot(m,n,p)%子子图分割分割命令命令S从左至右,从上至下从左至右,从上至下排列133.4.1.1 二维图绘制与修饰S单窗口多曲线分图绘图subplot(2,2,3,4

41、)134.4.1.1 二维图绘制与修饰S多窗口绘图Sfigure(n)%创建窗口函数,n为窗口序号序号135.4.1.1 二维图绘制与修饰S图形加注功能S将标题、坐标轴标记、网格线及文字注释加注到图形上的函数函数为:ztitle给图形加标题zxlabel给x轴加标注zylabel给y轴加标注ztext在图形指定位置加标注zgtext将标注加到图形任意位置zgridon/off打开、关闭坐标网格线zlegend添加图例zaxis控制坐标轴的刻度136.4.1.1 二维图绘制与修饰S图形加注功能137.4.1.1 二维图绘制与修饰Sfill绘制二维多边形并填充颜色138.4.1.2 特殊二维绘图函

42、数Sbar绘制直方图Spolar绘制极坐标图Shist绘制统计直方图Sstairs绘制阶梯图Sstem绘制火柴杆图Srose绘制统计扇形图Scomet绘制彗星曲线Sscatter离散点图Scompass复数向量图(罗盘图)Sfeather复数向量投影图(羽毛图)Squiver向量场图Sarea区域图Spie饼图Sconvhull凸壳图Serrorbar绘制误差棒图139.4.1.2 特殊二维绘图函数S绘制极坐标图极坐极坐标以弧度以弧度为单位位140.4.1.2 特殊二维绘图函数S绘制饼图141.4.1.3 函数fplot()Splot将外部的离散数据转化为图形。数据数据点点越多绘制的曲线越精确

43、,越能反映数据的规律。Sfplot构建所需要绘制函数的数据,同时也可以绘图,精确程度由误差差决定。Sx,y=fplot(fun,lims)%返回函数fun在x区间lims=xminxmax的绘图点值。Sfun用字符串字符串表示。142.4.1.3 函数fplot()143.4.1.4 函数ezplot()S函数ezplot用于绘制函数在某一自变量区域内的图形。zezplot(fun)%绘制默认范围内的图形zezplot(fun,min,max)%绘制指定范围内的图形zezplot(fun,xmin,xmax,ymin,ymax)%绘制函数f(x,y)指定范围内的图形zezplot(funx,f

44、uny)%绘制默认范围的参数方程组x=x(t),y=y(t)的图形zezplot(funx,funy,tmin,tmax)%绘制指定范围的参数方程组x=x(t),y=y(t)的图形144.4.1.4 函数ezplot()145.4.2 三维绘图S4.2.1三维图绘制基本函数S4.2.2三维网格图绘制S4.2.3三维曲面图绘制S4.2.4图形修饰命令146.4.2.1 三维图绘制基本函数Splot3%基本的三维图形指令。Splot3(x,y,z)%x,y,z是长度相同度相同的向量或维数相同数相同的矩阵S二维图形的所有基本特性对三维图形全都适用。Splot3(x,y,z,s)Splot3(x1,y

45、1,z1,s1,x2,y2,z2,s2,)%多线条绘图Sgridon/off%绘制三维网格Stext(x,y,z,string)%三维图形标注S子图和多窗口。147.4.2.1 三维图绘制基本函数148.4.2.1 三维图绘制基本函数S三维饼图pie3149.4.2.2 三维网格图绘制S三维网格图函数mesh可绘出在某一区间内的完整曲面完整曲面Smesh(z)%z为nm的矩阵,x与y坐标为元素的下标Smesh(x,y,z)%x,y,z分别为三维空间的坐标位置150.4.2.2 三维网格图绘制S三维网格图绘制步骤z生成坐标:X,Y=meshgrid(x,y)z参数x和y为向量向量z表达式点运算点

46、运算:Z=X.2+Y.2zX,Y是nm的矩阵,维数由向量尺寸决定z默认37.5,俯角30。151.4.2.3 三维曲面图绘制S曲面绘制函数surf绘制着色的三维曲面Ssurf(X,Y,Z)%X,Y,Z为图形坐标向量曲面图线条是黑色空挡有颜色网格图线条有颜色空挡是白色152.4.2.3 三维曲面图绘制S带等高线的曲面图绘制函数surfc(X,Y,Z)S被光照射带阴影的曲面图surfl(X,Y,Z)153.4.2.4 图形修饰命令Scolormap(MAP)%色图设定函数Scolorbar()%标注Z Z图例例Sshadingfaceted/flat/interp%网格修饰Shiddenon/of

47、f%透视与消隐(网格图)Sview(az,el)%视角修饰,az为方位角,el为俯视角,缺省值:az=-37.5;el=30Swaterfall/meshz%水线修饰Scontour(Z,n)/contour3(Z,n)%绘制n条二维/三维等高线;154.4.2.4 图形修饰命令Scolormap(MAP)zhsv%饱和值色图zgray%线性灰度色图zhot%暖色色图zcool%冷色色图zbone%兰色调灰色图zcopper%铜色色图zpink%粉红色图zprism%光谱色图zjet%饱和值色图IIzflag%红,白,蓝交替色图155.4.2.4 图形修饰命令Sshadingfaceted/f

48、lat/interpShiddenon/offSview(az,el)SmeshzScontour3156.4.3 图形窗口菜单工具栏绘图区157.4.3.1 菜单操作新建文件M文件、图形窗口、工作空间的变量或用户界面生成M-函数文件用于导入数据用于将图形窗口中的图形数据存储在二进制mat文件中,它们可以供其他的编程语言(如C语言等)调用。用于定义图形窗口的各种设置,包括字体、颜色等。用于打开【图形输出】话框,可以把图形以emf、ai、bmp、eps、jpg、pdf等格式保存,并设置有关图形窗口的显示等方面的参数。158.4.3.1 菜单操作S【CopyFigure】复制图形。S【CopyOp

49、tion】打开【复制设置】对话框,设置图形复制的格式、图形背景颜色和图形大小等。S【FigureProperties】打开图形窗口的属性设置对话框。S【AxesProperties】打开【设置坐标轴属性】对话框。S【CurrentObjectProperties】打开设置图形窗口中当前对象(如窗口中的坐标轴、图形等)属性的对话框S【Colormap】打开【色图编辑】对话框。159.4.3.1 菜单操作S【View】菜单用于打开各种工具工具栏和控控制面板制面板z图形窗口工具条用于对图形进行各种处理z照相工具条用于设置图形的视角和光照等,可以实现从不同角度来观察所绘三维图形,并且为图形设置不同的光

50、照情况z绘图编辑工具条用于向图形中添加文本标注和各种标注图形等z绘图浏览器用于浏览当前图形窗口中的所有图形对象160.4.3.2 图形窗口工具栏表161.162.小结S本节介绍了MATLAB的基本绘图功能,通过学习应该掌握:z基本绘图函数plot,plot3,mesh,surfz基本绘图函数的用法、简单图形标注、简单颜色设定163.数值计算软件实践第五讲 数值与符号计算MATLAB提供了丰富的数值分析命令,具有出色的数值计算能力,占据世界上数值计算软件的主导地位。164.主要内容S5.1插值运算S5.2曲线拟合S5.3数据分析S5.4数值微积分S5.5符号计算入门S5.6符号对象的创建和使用S

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 考试专区 > 中考

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服