《MATLAB语言基础》PPT课件.ppt_第1页
《MATLAB语言基础》PPT课件.ppt_第2页
《MATLAB语言基础》PPT课件.ppt_第3页
《MATLAB语言基础》PPT课件.ppt_第4页
《MATLAB语言基础》PPT课件.ppt_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第10章 MATLAB语言基础,10.1 MATLAB数值运算基础, (5*2+1.5-0.2)*20/8 ans = 28.2500,1、变量命名 在MATLAB中,变量名是以字母开头,后接字母、数字或下划线的字符序列,最多63个字符。在MATLAB中,变量名区分字母的大小写。 2、赋值语句 (1) 变量=表达式 (2) 表达式,3、预定义变量 在MATLAB工作空间中,还驻留几个由系统本身定义的变量。例如,用pi表示圆周率的近似值,用i或j表示虚数单位。,4、内存变量的管理 内存变量的删除与修改 MATLAB工作空间窗口专门用于内存变量的管理。 clear命令用于删除MATLAB工作空间中

2、的变量。 who和whos这两个命令用于显示在MATLAB工作空间中已经驻留的变量名清单。 who命令只显示出驻留变量的名称 whos在给出变量名的同时,还给出它们的大小、所占字节数及数据类型等信息。 内存变量文件 利用MAT文件可以把当前MATLAB工作空间中的一些有用变量长久地保留下来,扩展名是.mat。MAT文件的生成和装入由save和load命令来完成。常用格式为: save 文件名 变量名表 -append-ascii load 文件名 变量名表 -ascii,MATLAB常用的三角函数,10.1.2 MATLAB常用数学函数,指数函数,复数函数,圆整函数和求余函数,其他函数,10.

3、1.3 数据的输出格式 format short :短格式方式,显示5位定点十进制数。 format long :长格式方式,显示15位定点十进制数。 format short g:当数据大于1000或小于1时便会以科学记数法显示(-e),若想坚持用整数部分加小数部分的格式来显示,就要再后边加 g format long g format hex:十六进制格式方式。 format bank :银行格式。按元、角、分(小数点后具有两位)的固定格式。 format + :+格式,以,和空格分别表示中的正数,负数和零元素 format short e :短格式e方式,显示5位浮点十进制数 forma

4、t long e :长格式e方式,显示15位浮点十进制数。 format rat:分数格式形式。用有理数逼近显示数据。如pi显示为355/113。,10.2 数组矩阵运算 10.2.1 数组、矩阵的概念 MATLAB以矩阵作为基本的运算单元,其运算规则与线性代数中的矩阵运算规则相同。 数组是由一组复数排成的长方形阵列。一行多列的数组是行向量;一列多行的数组就是列向量;数组可以是二维的“矩形”,也可以是多维的。 10.2.2 数组与矩阵的输入 一行多列的数组是行向量,矩阵横向行的所有元素依次序排列的元素也是行向量。 1、一维行或列向量的输入 显示元素列表输入 A=1 2*pi sqrt(3) 4

5、+5i 冒号生成输入 x = a:inc:b 2、二维数组或矩阵的输入 A=1 2 3; 4 5 6; 7 8 9,10.2.3 数组与矩阵的算术运算 1、数组、矩阵的加减运算 数组加减运算和矩阵加减运算都是两个数组或矩阵的行数与列数分别相同,即都是数组相对应元素或矩阵相应元素的加减运算.MATLAB里,维数为11的数组叫做标量。 例10-1、执行下列命令。 s=5; A=1 2 3; 4 5 6; 7 8 9; B= A + s C= A - s 运行结果:B = 6 7 8 9 10 11 12 13 14 C = -4 -3 -2 -1 0 1 2 3 4,2、数组、矩阵的乘法运算 数组

6、的乘法用运算符.*表示,即在乘号前加一个点来特别指定是数组的乘法运算。数组的乘法必须在具有相同维数的数组间进行,其结果是数组的对应元素间相乘的结果组成的新数组,而两矩阵相乘必须服从数学中矩阵叉乘的条件与规则。 数组、矩阵与标量的乘法运算 数组与一个标量之间或矩阵与一个标量之间的乘法运算都是指该数组(或矩阵)的每个元素与这个标量分别进行乘法运算。 例10-2、数组与一个标量乘法运算指令示例。 s=5; A=1 2 3; 4 5 6; 7 8 9; B= s.*A 数组、矩阵的乘法运算 数组的乘法必须在具有相同维数的数组间进行,两矩阵相乘的条件是左矩阵的列数必须等于右矩阵的行数且不满足交换律。 例

7、10-3、数组乘法示例。 a=1 2 3;4 5 6;7 8 9; b=2 2 2;2 2 2;2 2 2; c=a.*b d=b.*a, 数组、矩阵的转置运算 在线性代数中,把矩阵A的行换成同序数的列而生成的矩阵,叫做A的转置矩阵。从矩阵A生成转置矩阵的过程就是矩阵A的转置运算,矩阵A的转置矩阵记作AT。在MATLAB中,用运算符“”定义的矩阵转置,是其元素的共轭转置;运算符“.”定义的数组的转置则是其矩阵元素的非共轭转置。可见,线性代数定义的矩阵的转置对应着MATLAB中的数组转置。 例10-5、数组与矩阵的转置运算示例。 e=1 2 3;4 5 6 E=e*(1+i) F=E G=E.

8、运行结果:F = 1.0000 - 1.0000i 4.0000 - 4.0000i 2.0000 - 2.0000i 5.0000 - 5.0000i 3.0000 - 3.0000i 6.0000 - 6.0000i G = 1.0000 + 1.0000i 4.0000 + 4.0000i 2.0000 + 2.0000i 5.0000 + 5.0000i 3.0000 + 3.0000i 6.0000 + 6.0000i,10.3 MATLAB的程序设计 10.3.1 M文件 M文件是使用MATLAB语言编写的程序代码文件。之所以称为M文件,是因为这种文件都以.m作为文件的扩展名。用户

9、可以通过任何文本编辑器来生成或编辑文件,但是在MATLAB提供的M-file编辑调试器生成和编辑M文件最为简单、方便且高效。M文件可以分成两种类型:一种是函数文件,另一种是命令文件。,10.3.2 MATLAB函数 1、概念 MATLAB函数通常是指MATLAB系统内已设计好的完成某一种特定的运算或实现某一特定功能的一个子程序。 MATLAB中的函数即函数文件,是M文件最主要的形式。函数是能够接受输入参数并返回输出参数的文件。在MATLAB中,函数名和M文件名必须相同。 函数只能在函数体内对变量进行操作。 MATLAB中的函数是以两种不同的形式提供给用户 一种是内置在MATLAB核心中最基本的

10、运算函数; 另一种是通过M文件实现的函数。这些函数大部分是是在最基本运算函数的基础上扩展而来,扩展的目的是为了实现与完善MATLAB新的功能。,3、结构 函数定义行 函数M文件首行总是以关键字function开头,并在首行中列出全部输入、输出参数以及函数名。函数名应置于等号的右侧并与对应的M文件名相同。输出参数紧跟在function之后,常用方括号括起来;输入参数紧跟在函数名之后,常用圆括号括起来。 H1行 H1行是函数帮助文本的第一行,以“%”号开头,用来概要说明该函数的功能。 函数帮助文本 在H1之后而在函数体之前的说明文本就是函数帮助文本,说明函数的功能与用法。 函数体 是实现该函数功能

11、、进行运算所有程序代码的执行语句。在函数体中,除了进行运算外,还包括函数调用与程序调用的必要注释。 注释 在函数体后还跟注释行,用以说明各种需要交代的问题。 函数文件由function语句引导,其基本结构为: function 输出形参表=函数名(输入形参表) 注释说明部分 函数体语句 其中以function开头的一行为引导行,表示该M文件是一个函数文件。函数名的命名规则与变量名相同。输入形参为函数的输入参数,输出形参为函数的输出参数。当输出形参多于一个时,则应该用方括号括起来。,4、 函数调用 函数调用的一般格式是: 输出实参表=函数名(输入实参表) 要注意的是,函数调用时各实参出现的顺序、

12、个数,应与函数定义时形参的顺序、个数一致,否则会出错。函数调用时,先将实参传递给相应的形参,从而实现参数传递,然后再执行函数的功能。 例10-6 利用函数文件,实现直角坐标(x,y)与极坐标(,)之间的转换。 函数文件tran.m: function rho,theta=tran(x,y) rho=sqrt(x*x+y*y); theta=atan(y/x); 调用tran.m的命令文件main1.m: y=input(Please input y=:); x=input(Please input x=:); rho,the=tran(x,y); rho the,5、函数参数的可调性 在调用函

13、数时,MATLAB用两个永久变量nargin和nargout分别记录调用该函数时的输入实参和输出实参的个数。只要在函数文件中包含这两个变量,就可以准确地知道该函数文件被调用时的输入输出参数个数,从而决定函数如何进行处理。 例10-8 nargin用法示例。 函数文件examp.m: function fout=charray(a,b,c) if nargin=1 fout=a; elseif nargin=2 fout=a+b; elseif nargin=3 fout=(a*b*c)/2; end,命令文件mydemo.m: x=1:3; y=1;2;3; examp(x) examp(x,

14、y) examp(x,y,3),10.3.3 MATLAB命令文件或程序 在MATLAB中,实现某项功能的一串MATLAB语句命令与函数组合成的M文件叫命令文件,也译作脚本文件。这种文件在MATLAB的工作空间内对数据进行操作,能在MATLAB环境下直接执行。命令文件不仅能够对工作空间已存在的变量进行操作,并能将建立的变量及其执行的结果保存在MATLAB的工作空间里,供在以后的计算中使用。与函数文件相比,命令文件既不带输入参数也不带输出参数。,例10-9 分别建立命令文件和函数文件,将华氏温度f转换为摄氏温度c。 程序1: 首先建立命令文件f2c.m clear; %清除工作空间中的变量 f=

15、input(Input Fahrenheit temperature:); c=5*(f-32)/9 然后在MATLAB的命令窗口中输入f2c 将会执行该命令文件,执行情况为: Input Fahrenheit temperature:73 c = 22.7778,程序2: 首先建立函数文件f2c.m。 function c=f2c(f) c=5*(f-32)/9 然后调用该函数文件。 clear; y=input(); x=f2c(y) 输出情况为: Input Fahrenheit temperature:70 c = 21.1111 x = 21.1111,10.3.4 程序设计基础 M

16、ATLAB语言为解释性程序设计语言,程序中的语句边解释边执行。是由顺序、选择和循环三种基本控制结构所构成。MATLAB语句由表达式语句、赋值语句、控制语句、调试语句和空语句组成,控制语句包括条件语句、循环语句及一些转移语句。MATLAB的任何一个语句键入后,按回车键即可执行,故又把语句称为命令。 由MATLAB各种函数与诸多MATLAB语句、命令组成的M文件就是MATLAB程序,所以MATLAB程序也是一种类似命令文件的M文件。 MATLAB程序书写格式与函数的结构类似,掌握以下原则对于设计或编写程序是很有用的。程序基本结构组成如下图: %后面的内容是程序的注释说明,包含有程序的名称、功能等。

17、 在主程序开头用clear指令清除变量 定义变量参数集中放在程序的开始部分,在语句行的最后输入分号时,执行语句行的结果不会显示在屏幕上,以提高执行速度。 一、表达式、表达式语句与赋值语句 在MATLAB程序中,广泛使用表达式语句与赋值语句。 1、表达式 2、表达式语句。 3、赋值语句,二、程序流程控制语句 在MATLAB程序中,还广泛使用程序流程控制语句包括顺序、选择、循环三大基本结构控制语句实现各种不同运算功能。 1、顺序结构语句 将MATLAB函数与语句根据解决问题的需要按照书写顺序而执行的MATLAB程序就是顺序结构程序。 数据的输入 从键盘输入数据,则可以使用input函数来进行,该函

18、数的调用格式为: A=input(提示信息,选项); 其中提示信息为一个字符串,用于提示用户输入什么样的数据。 如果在input函数调用时采用s选项,则允许用户输入一个字符串。例如,想输入一个人的姓名,可采用命令: xm=input(Whats your name?,s); 数据的输出 MATLAB提供的命令窗口输出函数主要有disp函数,其调用格式为 disp(输出项) 其中输出项既可以为字符串,也可以为矩阵。,2、分支选择结构语句 分支选择语句有2种:if条件分支语句与switch开关分支语句。 if条件分支语句 if-else-end条件语句为程序流程控制提供了一种条件分支结构,这种语句

19、有3种格式: if expression statements end if expression statements1 else statements2 end if expression1 statements1 elseif expression2 statements2 else statements3 end, switch开关分支语句 switch expression case test1 statements1 case test1 statements1 otherwise statements3 end,例10-13 某商场对顾客所购买的商品实行打折销售。 程序如下: p

20、rice=input(请输入商品价格); switch fix(price/100) case 0,1 %价格小于200 rate=0; case 2,3,4 %价格大于等于200但小于500 rate=3/100; case num2cell(5:9) rate=5/100; case num2cell(10:24) rate=8/100; case num2cell(25:49) rate=10/100; otherwise rate=14/100; end price=price*(1-rate),3 循环结构语句 for循环语句 for v=expression statements

21、end while循环语句 while expression statements end,例10-14 一个三位整数各位数字的立方和等于该数本身则称该数为水仙花数。输出全部水仙花数。 程序如下: for m=100:999 m1=fix(m/100); %求m的百位数字 m2=rem(fix(m/10),10); %求m的十位数字 m3=rem(m,10); %求m的个位数字 if m=m1*m1*m1+m2*m2*m2+m3*m3*m3 disp(m) end end,三、常用图形命令 1、绘图函数 plot(x,y,s) plot(x1,y1,s1,x1,y2,s2,),例10-16 在

22、0 x2区间内,绘制曲线y=2e-0.5xcos(4x) 程序如下: x=0:pi/100:2*pi; y=2*exp(-0.5*x).*cos(4*pi*x); plot(x,y),例10-17 分析下列程序绘制的曲线。 x1=linspace(0,2*pi,100); x2=linspace(0,3*pi,100); x3=linspace(0,4*pi,100); y1=sin(x1); y2=1+sin(x2); y3=2+sin(x3);,x=x1;x2;x3; y=y1;y2;y3; plot(x,y,x1,y1-1),2、坐标系调整函数 MATLAB的绘图函数可根据要绘制曲线数据

23、的范围自动选择合适的坐标系,使得曲线尽可能清晰地显示出来。一般情况下用户可以不必自己选择绘图坐标系。如果用户觉得自动选择的坐标系不理想,则可用函数axis( )选择新的坐标系。 axis(xmin,xmax,ymin,ymax,zmin,zmax) 坐标有最小值(xmin,ymin,zmin) 与最大值(xmax,ymax,zmax) axis函数功能丰富,常用的格式还有: axis equal:纵、横坐标轴采用等长刻度。 axis square:产生正方形坐标系(缺省为矩形)。 axis auto:使用缺省设置。 axis off:取消坐标轴。 axis on:显示坐标轴。 给坐标加网格线用grid命令来控制。 grid on/off命令控制是画还是不画网格线,不带参数的grid命令在两种状态之间进行切换。 给坐标加边框用box命令来控制。 box on/of

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论