欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > PPT文档下载  

    matlab详细教学课件.ppt

    • 资源ID:5439319       资源大小:8.98MB        全文页数:347页
    • 资源格式: PPT        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    matlab详细教学课件.ppt

    第一讲 绪论,数值计算软件的产生原因和应用领域。典型数值计算软件的基础知识。我们要学习的数值计算软件是工程科学界的周润发。,2,现实中的一些问题,矩阵运算加减乘除逆,3,现实中的一些问题,函数图形的绘制y=sin(t);y=cos(t)数据处理插值、拟合数值积分、微分微分方程的数值解,4,现实中的一些问题,物理现象的数值模拟BP墨西哥湾漏油事件控制系统的设计,5,数值计算软件实践,目标:了解MATLAB,利用该软件进行矩阵运算,简单编程,简单的数据处理,基本图形绘制,了解动态系统仿真工具。MATLAB是学习和科研的工具。,(一)概述(二)MATLAB基础知识(三)矩阵与数组(四)绘图功能(五)数值与符号运算(六)M语言程序与图形用户界面设计(七)Simulink仿真环境,6,1 MATLAB基础知识,MATLAB是MathWorks公司开发的科学与工程计算软件,它以矩阵运算为基础,把计算、绘图及动态系统仿真等功能有机地融合在一起,同时,它又具有程序设计语言(M语言)的基本特征。它将一个优秀软件的易用性与可靠性、通用性与专业性、一般目的的应用与高深的科学技术应用有机的结合。,7,1.1 MATLAB简介,1980年,美国新墨西哥大学计算机科学系主任Cleve 着手编写供学生使用的子程序接口程序设计者的初衷是为解决线性代数课程的矩阵运算问题取名MATLAB即MATrix LABoratory 矩阵实验室1984年,推出了MATLAB第一个商业版本,8,1.1 MATLAB简介,1992年MATLAB 4.0版;1997年MATLAB 5.0版;2000年MATLAB 6.0版;2004年MATLAB 7.0版;2005年MATLAB 7.1版;随后每年发布两次以年份命名的版本:如R2006a、R2006b、R2007a、R2007b和最新的版本R2010a。,9,1.1 MATLAB简介,MATLAB 的应用:数值和符号计算工程与科学绘图控制系统的设计与仿真动态系统建模、分析和仿真通讯系统设计与仿真数字图像处理数字信号处理财务与金融工程,10,1.2 MATLAB安装,普通PC基本都能满足MATLAB的安装环境要求,和安装普通软件没有任何区别!,11,1.3 MATLAB集成开发环境,12,1.3.1 工作界面,工作界面菜单工具栏命令窗口历史命令窗口当前工作目录窗口工作空间窗口,13,1.3.2 命令窗口,Command Window用于输入命令并显示除图形以外的所有执行结果。MATLAB用“”作为运算提示符,表明系统处于准备状态。当在提示符后输入一段程序或一段运算式后回车,MATLAB会给出计算结果,并再次进入准备状态。,14,1.3.2 命令窗口,命令以回车结束。命令之间以逗号或者分号分隔。例如:x=720,y=86x=720y=86x=720;y=86y=86若一个命令行很长,可以使用续行符,即三个小黑点。例如:z=1+1/(1*2)+1/(1*2*3)+.1/(1*2*3*4*5),命令输入采用英文字符,15,1.3.2 命令窗口,单击命令窗口右上角的“”按钮,可以使命令窗口脱离主窗口而成为一个独立的窗口。,16,1.3.3 历史命令窗口,Command History用于记录所有执行过的命令(可以单个或全部删除)标明使用时间(启动软件时的时刻,只标一次)可以通过用鼠标双击某一历史命令来重新执行该命令可以成为一个独立的窗口,通过小键盘上的“”和“”键可以在命令窗口中依次显示一行历史命令,17,1.3.4 工作空间窗口,Workspace工作空间窗口将显示当前内存中所有的MATLAB变量的变量名、数据结构、字节数以及类型等信息。,18,1.3.4 当前工作目录,Current Directory当前工作目录是指MATLAB运行文件时的目录。只有在当前工作目录或搜索路径下的文件、函数才可以被运行或调用。如果没有特殊指明,数据文件也将存放在当前目录下。,19,1.3.5 Start按钮,Start按钮,20,1.4 MATLAB通用命令,通用命令是MATLAB中经常使用的一组命令,这些命令可以用来管理目录、函数、变量、工作空间、文件和窗口等。常用命令输入内容的编辑操作符和运算符搜索路径与扩展,21,1.4.1 常用命令,22,1.4.2 输入内容的编辑,命令窗口中,MATLAB提供了控制光标位置和进行简单编辑的键盘按键,部分常用的键盘按键及其功能如下表所示。,23,1.4.3 操作符和运算符,24,1.4.3 操作符和运算符,常用运算的MATLAB表示,数学表示 MATLAB表示,25,1.4.4 搜索路径与扩展,当用户在命令窗口输入一条命令后,MATLAB将按照下列顺序搜索所输入的命令:检查该命令是不是一个变量。检查该命令是不是一个内部函数。检查该命令是否为当前目录下的M文件。检查该命令是否为搜索路径中其他目录下的M文件。都找不到时系统将报错!,My time!,26,1.4.4 搜索路径与扩展,查看搜索路径选择MATLAB主窗口中的【File】|【Set Path】菜单,进入【设置搜索路径】对话框。通过该对话框可为MATLAB添加或删除搜索路径。自己书写的函数有可能并没有保存在搜索路径下。要解决这个问题,只需把程序所在的目录扩展成搜索路径即可。,27,1.4.4 搜索路径与扩展,扩展搜索路径选择主窗口中的【File】|【Set Path】|【Add Folder】。在命令窗口执行“path(path,D:Study)”。在命令窗口执行“addpath D:Study-end”,将新的目录加到整个搜索路径的末尾。如果将end改为begin,可以将新的目录加到整个搜索路径的开始。,28,1.5 帮助系统,MATLAB为用户提供了非常完善的帮助系统。联机帮助系统命令窗口查询帮助系统联机演示系统(Demo),Demo给了大家一个模仿提高的机会一定好好利用!,29,1.5.1 联机帮助系统,进入联机帮助系统有四种方法按F1键选择Help菜单中的“MATLAB Help”选项。单击主窗口工具栏中的Help按钮(小问号)。在命令窗口中输入“helpwin”、“helpdesk”或“doc”命令。,30,1.5.2 命令窗口查询帮助系统,帮助命令help 命令查询函数语法的最基本方法结果直接显示在命令窗口。通过help加函数名来显示该函数的帮助说明。例如,为了显示sin函数的使用方法与功能help sinlookfor命令该命令可以帮助用户了解函数的用法。例如,输入命令lookfor sin,31,1.5.3 联机演示系统,进入联机演示系统的方法选择MATLAB主窗口菜单的【Help】|【Demos】选项;在命令窗口输入demos;直接在帮助页面上选择Demos页。,32,1.6 MATLAB 示例,下面以一个简单的例子展示如何使用MATLAB进行简单的应用。,33,1.6.1 数值计算,求解线性方程组在MATLAB命令窗口输入命令:a=2,3,-1;3,-5,3;6,3,-8;b=7;8;9;x=inv(a)*b也可以通过符号计算来解此方程syms x1 x2 x3x1,x2,x3=solve(2*x1+3*x2-x3-7,3*x1-5*x2+3*x3-8,6*x1+3*x2-8*x3-9),34,1.6.2 绘图功能,绘制函数y=300sin(x)/x和y=x2的曲线只需要在命令窗口中输入:x=-20:0.1:20;plot(x,300*sin(x)./x,:,x,x.2);,35,1.6.3 编程计算,汽车性能计算软件,36,小结,初步了解MATLAB。熟悉MATLAB界面,进行简单操作。,第二讲 基础知识,介绍MATLAB的变量、数据类型以及矩阵基本操作。,38,2.1 MATLAB的变量,2.1.1 变量命名与赋值2.1.2 预定义变量2.1.3 变量的管理,39,2.1.1 变量命名与赋值,变量命名在MATLAB中,变量名是以字母开头,后接字母、数字或下画线的字符序列,最多63个字符。例如:x、x_1、xy1在MATLAB中,变量名区分字母的大小写。,不支持中文字符语句,40,2.1.1 变量命名与赋值,赋值MATLAB赋值语句有两种格式:变量名=表达式;在该语句形式下,MATLAB将右表达式的值赋给左边的变量。表达式;在该语句形式下,MATLAB将表达式的值赋给的预定义变量ans。注释以%开头。,%注释支持中文吗?,41,2.1.2 预定义变量,预定义变量可以被重新赋值。,42,2.1.3 变量的管理,显示内存变量显示在工作空间中已经驻留的变量清单。主要命令:who%显示变量名whoswhos在给出变量名的同时,还给出它们的维数、所占字节数以及变量的类型。,43,2.1.3 变量的管理,删除MATLAB工作空间中的变量全部删除命令:clear工作空间窗口专门用于内存变量的管理。变量编辑器Array Editor,44,2.1.3 变量的管理,保存内存变量利用MAT文件可以把当前工作空间中的一些有用变量长久地保留下来。MAT是MATLAB保存数据的一种标准格式二进制文件,扩展名是.mat。,45,2.1.3 变量的管理,点击工作空间窗口的save按钮则保存所有变量命令生成与导入MAT文件save 文件名 变量名表load 文件名 变量名表例如:save mydata a bload mydata实现变量定点保存,46,2.2 MATLAB的数据类型,2.2.1 数值类型2.2.2 逻辑类型2.2.3 字符类型和字符串2.2.4 结构体类型,47,2.2.1 数值类型,数值的类型整数浮点数InfNaN数值的输出格式,48,2.2.1 数值类型,整数MATLAB支持1、2、4和8字节的有符号整数和无符号整数。数据类型的名称、表示范围和转换函数如下表所示:,49,2.2.1 数值类型,浮点数MATLAB有单精度和双精度两种浮点数。浮点数的存储空间、表示范围和转换函数如下表所示:,50,2.2.1 数值类型,Inf(inf)&NaNInf和-Inf分别表示正无穷大和负无穷大。除法运算中除数为0或者运算结果溢出都会导致Inf或-Inf的运行结果。NaN在MATLAB中表示一个既不是实数也不是复数的数值。,MATLAB 对除数为0的情况会发出警告但运算仍可进行,51,2.2.1 数值类型,数值的输出格式用“format”命令设置数值输出格式。format 格式符短格式(short)短格式e方式(short e)长格式(long)长格式e方式(long e)银行格式(bank)十六进制格式(hex)“format”命令只影响数值的输出格式,而不影响数据的计算和存储。,What you see!,52,2.2.2 逻辑类型,MATLAB中的逻辑类型(logical)包含true和false,分别由1和0表示。在MATLAB中用函数logical()将任何非零的数值转换为true(即1),将数值0转换为false(即0)。,53,2.2.3 字符类型和字符串,在MATLAB中,数据类型(char)表示一个字符。一个char类型的1n数组称为字符串string。,54,2.2.4 结构体类型,结构体类型是一种由若干属性(field)组成的MATLAB数组,其中的每个属性可以是任意数据类型。,55,2.3 MATLAB矩阵及其基本操作,在MATLAB中,所有的数据均以二维、三维或高维矩阵的形式存储,每个矩阵的单元可以是数值类型、逻辑类型、字符类型或者其他任何数据类型。2.3.1 矩阵的构造2.3.2 矩阵大小的改变2.3.3 矩阵元素的操作2.3.4 矩阵信息的获取2.3.5 矩阵结构的改变,56,2.3.1 矩阵的构造,简单矩阵构造特殊矩阵构造行向量构造,57,2.3.1 矩阵的构造,简单矩阵构造MATLAB矩阵构造符为“”。同一行元素依次放入矩阵构造符内,并且以空格或者逗号分隔;行与行之间用分号分隔。在MATLAB中,生成矩阵时无须对矩阵的维数和类型进行说明,MATLAB会根据用户所输入的内容自动进行配置。矩阵元素也可是表达式(MATLAB将自动计算结果),58,2.3.1 矩阵的构造,简单矩阵构造已建好的小矩阵可拼接成大矩阵,从而利用已建好的矩阵建立更大的矩阵。,59,2.3.1 矩阵的构造,特殊矩阵构造在MATLAB中还提供一些函数用来构造特殊矩阵。,60,2.3.1 矩阵的构造,特殊矩阵构造(续表),61,2.3.1 矩阵的构造,特殊矩阵构造示例,随机矩阵是真的随机!,62,2.3.1 矩阵的构造,行向量构造MATLAB提供了向量构造符“:”。常用的用法如下:a:b以a为起点,且所有取值在a与b之间的向量。a:s:b 返回以a为起点,以s为步长,且所有取值在a与b之间的向量。,默认步长是1,63,2.3.2 矩阵大小的改变,矩阵的合并矩阵行列的删除,64,2.3.2 矩阵大小的改变,矩阵的合并使用构造符“”矩阵合并函数,65,2.3.2 矩阵大小的改变,矩阵行列的删除将要删除矩阵的行或者列赋予一个空矩阵。命令为:删除行矩阵名(n,:)=删除列矩阵名(:,n)=,66,2.3.3 矩阵元素的操作,本小节将介绍存取矩阵元素值的方法。访问单个元素线性引用元素访问多个元素,67,2.3.3 矩阵元素的操作,访问单个元素对于二维矩阵A,访问其第m行第n列元素的命令:A(m,n)对元素进行重新赋值的命令:A(m,n)=55,68,2.3.3 矩阵元素的操作,线性引用元素对于矩阵A,线性引用元素格式为A(k)。通常用于行向量或列向量,也可用于二维矩阵。MATLAB按列优先排列的一个长列向量格式(线性引用元素)来存储矩阵元素。,69,2.3.3 矩阵元素的操作,访问多个元素操作符“:”若A是二维矩阵,其主要用法如下:A(:,:)返回矩阵A的所有元素A(i,:)返回矩阵A第i行的所有元素A(i,k1:k2)返回矩阵A第i行的自k1到k2列的所有元素A(:,j)返回矩阵A第j列的所有元素A(k1:k2,j)返回矩阵A第j列的自k1到k2行的所有元素若A是多维矩阵,也可以通过类似的方法实现对其访问。,70,2.3.4 矩阵信息的获取,本小节介绍如何获取矩阵的信息。矩阵尺寸信息元素的数据类型矩阵的数据结构,71,2.3.4 矩阵信息的获取,矩阵尺寸信息矩阵尺寸函数,72,2.3.4 矩阵信息的获取,元素的数据类型元素数据类型函数,73,2.3.4 矩阵信息的获取,矩阵的数据结构数据结构函数,74,2.3.5 矩阵结构的改变,改变矩阵结构的函数,75,小结,MATLAB的变量MATLAB的数据类型MATLAB的矩阵基本操作,第三讲 矩阵与数组,介绍MATLAB中的矩阵和数组常规运算法则,多项式的相关运算,矩阵的特征分析和分解。,77,主要内容,3.1 矩阵运算3.2 数组运算3.3 多项式运算3.4 线性方程组求解3.5 特殊矩阵生成3.6 矩阵分析3.7 矩阵分解3.8 矩阵的特征值和特征向量3.9 矩阵相似变换,78,3.1 矩阵运算,3.1.1 矩阵加、减(,)运算3.1.2 矩阵乘(*)运算3.1.3 矩阵除(/,)运算3.1.4 矩阵乘方 An,ap3.1.5 矩阵关系运算符3.1.6 矩阵逻辑运算符,79,3.1.1 矩阵加、减(,)运算,两矩阵对应元素相加减。标量可以和任意矩阵相加减,且与所有元素分别进行加减操作。,80,3.1.2 矩阵乘(*)运算,A*B:A矩阵的列数必须等于B矩阵的行数标量则与任意矩阵的所有元素相乘。,81,3.1.3 矩阵除(/,)运算,矩阵右除法(A/B)结果等效于(BA)矩阵左除法(A B),如果除法中有一个是标量 a,A/aa Aa/AA a是否等价?,A B的结果是AX=B解,Error,82,3.1.4 矩阵乘方(An,ap),An:表示A自乘n次幂;如果p是矩阵,a是标量,ap 使用特征值和特征向量自乘到p各元素次幂。,乘方运算比较费时间,83,3.1.5 矩阵关系运算符,矩阵关系运算符,矩阵与矩阵关系:两个矩阵长度相同,对应元素比较,返回具有相同长度的矩阵;矩阵与标量关系:标量与矩阵的所有元素进行运算。,84,3.1.5 矩阵关系运算符,关系运算的运算结果只有0和1两种情况0:不满足条件1:满足条件不能进行运算时MATLAB将报错,85,3.1.6 矩阵逻辑运算符,MATLAB提供元素方式和比特方式逻辑运算符。元素方式逻辑运算符:,86,3.1.6 矩阵逻辑运算符,比特方式逻辑运算符只接受逻辑和非负整数类型的输入变量,它是针对输入变量的二进制表示进行逻辑运算。,87,3.2 数组运算,数组运算指矩阵元素和元素之间的算术运算 3.2.1 数组加减(+,-)3.2.2 数组乘除(,/,)3.2.3 数组乘方()3.2.4 运算优先级,88,3.2.1 数组加减(+,-),对应元素相加减(与矩阵加减等效),89,3.2.2 数组乘除(*,./,.),数组乘(.*)点乘数组对应元素相乘数组必须有相同的行和列,90,3.2.2 数组乘除(,./,.),A./B=B.A A的元素被B的对应元素除B./A=A.B B的元素被A的对应元素除,给出A,B对应元素间的商,91,3.2.3 数组乘方(),元素对元素的幂,92,3.2.4 运算优先级,运算符的优先级决定表达式求值顺序,93,3.2.4 运算优先级,优先级不同先进行优先高的运算优先级相同从左到右依次进行运算可以用括号来改变默认的运算顺序,推荐利用括号来保证运算顺序正确,94,3.3 多项式运算,3.3.1 多项式表示法3.3.2 多项式求值3.3.3 多项式求根3.3.4 多项式乘法和除法3.3.4 多项式微积分,95,3.3.1 多项式表示法,多项式表示行向量,其元素中按多项式降幂排列。例如:f(x)=anxn+an-1xn-1+a0行向量:an an-1 a0函数poly2str()将多项式系数向量转换为完整形式。f,len=poly2str(A,x);,?,96,3.3.2 多项式求值,函数polyval()用来计算多项式的值y=polyval(p,x)%p为多项式系数行向量,x代入多项式的值。Y=polyvalm(p,X)%把矩阵X代入多项式p中进行计算。,97,3.3.3 多项式求根,多项式求根r=roots(a)%结果以列向量形式显示所有根。函数poly()实现由根创建多项式p=poly(r)%输入r是多项式所有根,返回值为多项式的系数向量。,98,3.3.4 多项式乘法和除法,函数命令 conv()和 deconv()进行多项式乘法和除法w=conv(u,v)%返回结果多项式相乘后的系数行向量。q,r=deconv(u,v)%q为u除v后的整数,r为余数。,99,3.3.4 多项式微积分,多项式的微分函数polyder()k=polyder(p)%返回多项式 p 微分的系数向量k=polyder(a,b)%返回多项式 a*b 微分的系数向量q,d=polyder(a,b)%返回多项式 a/b 微分的系数向量,q为分子,d为分母,100,3.3.4 多项式微积分,多项式积分函数polyint()计算多项式的不定积分s=polyint(p,k)%返回多项式 p 不定积分的系数向量。,?,101,3.4 线性方程组求解,3.4.1 矩阵求逆与线性代数方程组求解3.4.2 利用左除运算符求解线性方程组,102,3.4.1 矩阵求逆及线性代数方程组求解,矩阵求逆inv(A)%计算方阵A的逆矩阵利用矩阵求逆方法解线性方程组Ax=b,x=inv(A)*b,103,3.4.2 利用左除运算符求解线性方程组,对于线性方程组Ax=b,可以利用左除运算符“”求解:x=A b。,Ab=inv(A)*b,左除法要比求逆法耗时略多,104,3.5 特殊矩阵生成,3.5.1 通用的特殊矩阵3.5.2 面向特定应用的特殊矩阵,105,3.5.1 通用的特殊矩阵,函数zeros全0矩阵。函数ones全1矩阵。函数eye单位矩阵。函数rand产生01均匀分布的随机矩阵。函数randn产生均值为0、方差为1的标准正态分布随机矩阵。,106,3.5.2 面向特定应用的特殊矩阵,魔方矩阵,即每行、每列及两条对角线上的元素和都相等。函数magic(n),其功能是生成一个n阶魔方阵。范德蒙(Vandermonde)矩阵的最后一列全为1,倒数第二列为一个指定的向量,其他各列是其后列与倒数第二列的点乘积。函数vander(V)生成以向量V为基础向量的范得蒙矩阵。,107,3.5.2 面向特定应用的特殊矩阵,托普利兹(Toeplitz)矩阵除第一行第一列外,其他每个元素都与左上角的元素相同。函数是toeplitz(x,y)生成以x为第一列、y为第一行的托普利兹矩阵。这里x、y均为向量,两者不必等长。toeplitz(x)用向量x生成一个对称的托普利兹矩阵。希尔伯特(Hilbert)矩阵是一种数学变换矩阵,它的每个元素hij=1/(i+j1)。函数是hilb(n)。invhilb(n)为专门求希尔伯特矩阵的逆的函数。,108,3.5.2 面向特定应用的特殊矩阵,帕斯卡(Pascal)矩阵是由杨辉三角形表组成的矩阵。函数pascal(n)生成一个n阶帕斯卡矩阵。,109,3.6 矩阵分析,3.6.1 向量间的距离3.6.2 矩阵的秩3.6.3 矩阵的行列式3.6.4 矩阵的迹3.6.5 矩阵的化零矩阵3.6.6 矩阵的正交空间,110,3.6.1 向量间的距离,MATLAB 函数norm求向量间距离 norm(a)norm(a,2),111,秩的概念,3.6.2 矩阵的秩,矩阵 A中线性无关的列向量个数称为列秩,线性无关的行向量个数称为行秩。列秩与行秩是相等的。函数rank()计算矩阵的秩。,112,3.6.3 矩阵的行列式,MATLAB提供了det()函数来求矩阵的行列式。,113,3.6.4 矩阵的迹,矩阵的迹指矩阵对角元素之和。在MATLAB中用函数trace()来计算矩阵的迹。,114,3.6.5 矩阵的化零矩阵,对于非满秩矩阵A,若存在矩阵Z使得AZ=0 且 ZTZ=I,则称矩阵Z为矩阵A的化零矩阵。在MATLAB中用函数null()来计算矩阵的化零矩阵。,115,3.6.6 矩阵的正交空间,矩阵A的正交空间Q满足QTQ=I,且矩阵Q与A具有相同的列基底。在MATLAB中用函数orth()来计算矩阵的正交空间。,BTB,116,3.7 矩阵分解,矩阵分解是指根据一定的原理用某种算法将一个矩阵分解成若干个矩阵的乘积。3.7.1 LU分解3.7.2 QR分解3.7.3 Cholesky分解,117,3.7.1 LU分解,矩阵的LU分解又称Gauss消去分解或三角分解,就是将一个方阵表示为一个行交换下三角矩阵和一个上三角矩阵的乘积形式。函数luL,U=lu(X)%X=LU,上三角阵U和一个变换形式的下三角阵L(行交换)L,U,P=lu(X)%PX=LU,上三角阵U和一个下三角阵L以及一个置换矩阵P,118,3.7.2 QR分解,对矩阵X进行QR分解,就是把X分解为一个正交矩阵Q和一个上三角矩阵R的乘积形式。函数qrQ,R=qr(X)%X=QR,正交矩阵Q和一个上三角矩阵RQ,R,E=qr(X)%XE=QR,正交矩阵Q、一个上三角矩阵R以及一个置换矩阵E,119,3.7.3 Cholesky分解,Cholesky分解是把对称正定矩阵A表示为上三角矩阵R的转置与其本身的乘积,即A=RTR。函数cholR=chol(X)%RR=X。R,p=chol(X)%当X为对称正定的,则p=0,R与上述格式得到的结果相同;否则 p为一个正整数。如果X为满秩矩阵,则R为一个阶数为p1的上三角阵。,120,3.8 矩阵的特征值和特征向量,方阵A的特征值和其对应的特征向量X满足式:A*X=*X。函数eig()%计算特征值和其对应的特征向量d=eig(A)%返回A的特征值。V,D=eig(A)%返回A的特征值D和特征向量V。,121,3.9 矩阵相似变换,矩阵相似变换是指,对于方阵 A和非奇异矩阵 B可得到相似矩阵X=B-1*A*B。3.9.1 对角阵变换3.9.2 Jordan变换,122,3.9.1 对角阵变换,对于方阵A,若V D=eig(A)得到的矩阵V非奇异,则A可经过相似变换得到对角阵,即D=V-1*A*V,也称矩阵A可对角化。,V-1*A*V,123,3.9.2 Jordan变换,对于方阵A,若V D=eig(A)得到的矩阵 V 奇异,则A经过相似变换将不能得到对角阵,只能得到其对应的Jordan标准型。函数jordan():V,D=jordan(A)%满足 D=V-1*A*V。D=jordan(A)%返回矩阵A对应的Jordan标准型。,124,小结,本节介绍了MATLAB矩阵与数值运算功能,通过学习应该做到:掌握矩阵及数组运算(+、-、*)了解多项式运算掌握线性方程组求解方法了解特殊分析与分解命令了解矩阵的特征值和特征向量的求法了解矩阵的变换命令,第四讲 绘图功能,MATLAB有着强大的函数绘图功能,不需要过多地考虑绘图细节,只需给出一些基本参数就能得到所需图形。,126,主要内容,4.1 二维绘图4.2 三维绘图4.3 图形窗口*,127,4.1 二维绘图,二维图形的绘制是MATLAB语言图形处理的基础。4.1.1 二维图绘制与修饰4.1.2 特殊二维绘图函数4.1.3 函数fplot4.1.4 函数ezplot,128,4.1.1 二维图绘制与修饰,plot(x)%x为向量,x的元素值为纵坐标。plot自动打开一个图形窗口Figure。如果图形窗口已经存在,plot则清除当前图形,绘制新图形。,129,4.1.1 二维图绘制与修饰,plot(x,y)%基本格式,以y(x)的函数关系作出直角坐标图,如果y为nm的矩阵,则以x为自变量,作出m条曲线。,130,4.1.1 二维图绘制与修饰,plot(x,y,s)%字符串s用来定义曲线特征。,131,4.1.1 二维图绘制与修饰,plot(x,y,s)%s可以是各种选项的组合。,m,-r,ok,132,4.1.1 二维图绘制与修饰,单窗口多曲线绘图plot(x1,y1,x2,y2,)%多曲线绘图格式,133,4.1.1 二维图绘制与修饰,单窗口多曲线分图绘图subplot(m,n,p)%子图分割命令从左至右,从上至下排列,134,4.1.1 二维图绘制与修饰,单窗口多曲线分图绘图,135,4.1.1 二维图绘制与修饰,多窗口绘图figure(n)%创建窗口函数,n为窗口序号,136,4.1.1 二维图绘制与修饰,图形加注功能将标题、坐标轴标记、网格线及文字注释加注到图形上的函数为:title 给图形加标题xlabel 给x轴加标注ylabel 给y轴加标注text 在图形指定位置加标注gtext 将标注加到图形任意位置grid on/off 打开、关闭坐标网格线legend 添加图例axis 控制坐标轴的刻度,137,4.1.1 二维图绘制与修饰,图形加注功能,138,4.1.1 二维图绘制与修饰,fill绘制二维多边形并填充颜色,?,为什么以这种方式填充,139,4.1.2 特殊二维绘图函数,bar 绘制直方图polar 绘制极坐标图hist 绘制统计直方图stairs 绘制阶梯图stem 绘制火柴杆图rose 绘制统计扇形图comet 绘制彗星曲线scatter 离散点图,compass 复数向量图(罗盘图)feather 复数向量投影图(羽毛图)quiver 向量场图area 区域图pie 饼图convhull 凸壳图 errorbar 绘制误差棒图,140,4.1.2 特殊二维绘图函数,绘制极坐标图,141,4.1.2 特殊二维绘图函数,绘制饼图,142,4.1.3 函数fplot(),plot将外部的离散数据转化为图形。数据点越多绘制的曲线越精确,越能反映数据的规律。fplot构建所需要绘制函数的数据,同时也可以绘图,精确程度由误差决定。x,y=fplot(fun,lims)%返回函数fun在x区间lims=xmin xmax的绘图点值。fun用字符串表示。,143,4.1.3 函数fplot(),144,4.1.4 函数ezplot(),函数ezplot用于绘制函数在某一自变量区域内的图形。ezplot(fun)%绘制默认范围内的图形ezplot(fun,min,max)%绘制指定范围内的图形ezplot(fun,xmin,xmax,ymin,ymax)%绘制函数f(x,y)指定范围内的图形ezplot(funx,funy)%绘制默认范围的参数方程组x=x(t),y=y(t)的图形ezplot(funx,funy,tmin,tmax)%绘制指定范围的参数方程组x=x(t),y=y(t)的图形,145,4.1.4 函数ezplot(),146,4.2 三维绘图,4.2.1 三维图绘制基本函数4.2.2 三维网格图绘制4.2.3 三维曲面图绘制4.2.4 图形修饰命令,147,4.2.1 三维图绘制基本函数,plot3%基本的三维图形指令。plot3(x,y,z)%x,y,z是长度相同的向量或维数相同的矩阵二维图形的所有基本特性对三维图形全都适用。,plot3(x,y,z,s)plot3(x1,y1,z1,s1,x2,y2,z2,s2,)%多线条绘图grid on/off%绘制三维网格text(x,y,z,string)%三维图形标注子图和多窗口。,148,4.2.1 三维图绘制基本函数,149,4.2.1 三维图绘制基本函数,三维饼图pie3,150,4.2.2 三维网格图绘制,三维网格图函数mesh可绘出在某一区间内的完整曲面mesh(z)%z为nm的矩阵,x与y坐标为元素的下标mesh(x,y,z)%x,y,z分别为三维空间的坐标位置,151,4.2.2 三维网格图绘制,三维网格图绘制步骤生成坐标:X,Y=meshgrid(x,y)参数x和y为向量表达式点运算:Z=X.2+Y.2X,Y是nm的矩阵,维数由向量尺寸决定默认37.5,俯角30。,152,4.2.3 三维曲面图绘制,曲面绘制函数surf绘制着色的三维曲面surf(X,Y,Z)%X,Y,Z为图形坐标向量,曲面图线条是黑色空挡有颜色,网格图线条有颜色空挡是白色,153,4.2.3 三维曲面图绘制,带等高线的曲面图绘制函数surfc(X,Y,Z)被光照射带阴影的曲面图surfl(X,Y,Z),154,4.2.4 图形修饰命令,colormap(MAP)%色图设定函数colorbar()%标注Z图例shading faceted/flat/interp%网格修饰hidden on/off%透视与消隐(网格图)view(az,el)%视角修饰,az 为方位角,el 为俯视角,缺省值:az=-37.5;el=30waterfall/meshz%水线修饰contour(Z,n)/contour3(Z,n)%绘制n条二维/三维等高线;,155,4.2.4 图形修饰命令,colormap(MAP)hsv%饱和值色图gray%线性灰度色图hot%暖色色图cool%冷色色图bone%兰色调灰色图copper%铜色色图pink%粉红色图prism%光谱色图jet%饱和值色图IIflag%红,白,蓝交替色图,156,4.2.4 图形修饰命令,shading faceted/flat/interp hidden on/offview(az,el)meshzcontour3,157,4.3 图形窗口,菜单,工具栏,绘图区,158,4.3.1 菜单操作,新建文件M文件、图形窗口、工作空间的变量或用户界面,生成M-函数文件,用于导入数据,用于将图形窗口中的图形数据存储在二进制mat文件中,它们可以供其他的编程语言(如C语言等)调用。,用于定义图形窗口的各种设置,包括字体、颜色等。,用于打开【图形输出】话框,可以把图形以emf、ai、bmp、eps、jpg、pdf等格式保存,并设置有关图形窗口的显示等方面的参数。,159,4.3.1 菜单操作,【Copy Figure】复制图形。【Copy Option】打开【复制设置】对话框,设置图形复制的格式、图形背景颜色和图形大小等。【Figure Properties】打开图形窗口的属性设置对话框。【Axes Properties】打开【设置坐标轴属性】对话框。【Current Object Properties】打开设置图形窗口中当前对象(如窗口中的坐标轴、图形等)属性的对话框【Colormap】打开【色图编辑】对话框。,160,4.3.1 菜单操作,【View】菜单用于打开各种工具栏和控制面板图形窗口工具条用于对图形进行各种处理照相工具条用于设置图形的视角和光照等,可以实现从不同角度来观察所绘三维图形,并且为图形设置不同的光照情况绘图编辑工具条用于向图形中添加文本标注和各种标注图形等绘图浏览器用于浏览当前图形窗口中的所有图形对象,161,4.3.2 图形窗口工具栏表,162,163,小结,本节介绍了MATLAB的基本绘图功能,通过学习应该掌握:基本绘图函数plot,plot3,mesh,surf基本绘图函数的用法、简单图形标注、简单颜色设定,第五讲 数值与符号计算,MATLAB提供了丰富的数值分析命令,具有出色的数值计算能力,占据世界上数值计算软件的主导地位。,165,主要内容,5.1 插值运算5.2 曲线拟合5.3 数据分析5.4 数值微积分5.5 符号计算入门5.6 符号对象的创建和使用5.7 任意精度计算5.8 符号表达式的化简和替换5.9 符号微积分5.10符号方程求解,166,5.1 插值运算,5.1.1 一维插值5.1.2 二维插值,167,5.1.1 一维插值,单变量函数f(x)的数值插值问题称为一维插值。函数interp1Y1=interp1(X,Y,X1,method)%计算函数在X1处的值Y1,X、Y和X1均为向量methodlinear:线性插值(默认)nearest:最近点插值。cubic:3次多项式插值。spline:3次样条插值。,168,5.1.1 一维插值,示例,169,5.1.2 二维插值,对两变量函数z=f(x,y)进行插值函数interp2Z1=interp2(X,Y,Z,X1,Y1,method)其中X、Y是两个向量/矩阵,分别描述两个参数的采样点,Z是与参数采样点对应的函数值,X1、Y1描述欲插值的点,Z1是根据相应的插值方法得到的插值结果。method的取值与一维插值函数相同。,170,5.1.2 二维插值,171,5.2 曲线拟合,目的:用一个较简单的函数去逼近一个复杂的或未知的函数。MATLAB曲线拟合的最优标准是采用常见的最小二乘原理,所构造的g(x)是一个次数小于插值节点个数的多项式。曲线拟合的最小二乘原理,就是使上述拟合多项式在各节点处的偏差g(xi)-yi的平方和达到最小。命令格式:g=polyfit(X,Y,n),172,5.2 曲线拟合,示例X=0:0.1:1;Y=-0.447,1.978,3.28,6.16,7.08,7.34,7.66,9.56,9.48,9.30,11.2;g=polyfit(X,Y,n);%n分别取2、3和4,173,5.2 曲线拟合,在MATLAB还提供了拟合工具Curve Fitting tool。,174,5.2 曲线拟合,1,1,2,2,误差分析,175,5.3 数据分析,5.3.1 最大值和最小值5.3.2 求和与求积5.3.3 平均值和中值,176,5.3.1 最大值和最小值,max(A):A是向量,则返回向量A的最大值。A中包含复数元素,则按模取最大值。A是矩阵,则返回一个行向量(每一列的最大值)。Y,U=max(A)%A是向量,则返回向量A的最大值存入Y,最大值的序号存入U。如果A中包含复数元素,则按模取最大值。如果A是矩阵,则Y向量记录A的每列的最大值,U向量记录每列最大值的行

    注意事项

    本文(matlab详细教学课件.ppt)为本站会员(牧羊曲112)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开