matlab教程(第6讲-程序设计)

上传人:油条 文档编号:2685241 上传时间:2017-07-26 格式:PPT 页数:51 大小:832KB
返回 下载 相关 举报
matlab教程(第6讲-程序设计)_第1页
第1页 / 共51页
matlab教程(第6讲-程序设计)_第2页
第2页 / 共51页
matlab教程(第6讲-程序设计)_第3页
第3页 / 共51页
matlab教程(第6讲-程序设计)_第4页
第4页 / 共51页
matlab教程(第6讲-程序设计)_第5页
第5页 / 共51页
点击查看更多>>
资源描述

《matlab教程(第6讲-程序设计)》由会员分享,可在线阅读,更多相关《matlab教程(第6讲-程序设计)(51页珍藏版)》请在金锄头文库上搜索。

1、Matlab程序设计,第6讲,2017/8/8,Application of Matlab Language,2,Matlab命令的执行方式,交互式命令执行方式(命令窗口) 逐条输入,逐条执行,操作简单、直观,但速度慢,执行过程不能保留。M文件的程序执行方式 将命令编成程序存储在一个文件中(M文件),依次运行文件中的命令,可以重复进行。Matlab程序设计有传统高级语言的特征,又有自己独特的特点,可以利用数据结构的特点,使程序结构简单,编程效率高。,2017/8/8,Application of Matlab Language,3,6.1 M文件的分类,用Matlab语言编写的程序,称为M文件

2、。 是由若干Matlab命令组合在一起构成的,它可以完成某些操作,也可以实现某种算法。 M文件根据调用方式的不同分为两类: 命令文件(Script File) 函数文件(Function File) 它们的扩展名都是.m,2017/8/8,Application of Matlab Language,4,命令文件和函数文件的区别,命令文件没有输入参数,也不返回输出参数;函数文件可以带输入参数,也可以返回输出参数。命令文件对工作空间中的变量进行操作,文件中所有命令的执行结果也返回工作空间中;函数文件中定义的变量为局部变量,当函数文件执行完毕时,这些变量也被清除。命令文件可以直接运行;函数文件不能

3、直接运行,要以函数调用的方式来调用它。,2017/8/8,Application of Matlab Language,5,例6.1 建立文件将变量a、b的值互换。,命令文件:clear;a = 1:10;b = 11,12,13,14;15,16,17,18;c = a; a = b; b = c;ab将文件保存为exch,并在命令窗口执行。执行结果:a = 11 12 13 14 15 16 17 18b = 1 2 3 4 5 6 7 8 9 10,2017/8/8,Application of Matlab Language,6,函数文件,fexch.mfunction a,b = e

4、xch(a,b)c = a; a = b; b = c;然后在命令窗口调用该函数文件:clear;x = 1:10;y = 11,12,13,14;15,16,17,18;x,y = fexch(x,y)输出结果为:a = 11 12 13 14 15 16 17 18b = 1 2 3 4 5 6 7 8 9 10函数参数a,b,c未保留在工作空间中,x,y保留在工作空间中。,2017/8/8,Application of Matlab Language,7,M文件的建立与打开,M文件是一个文本文件,可以用任何编辑程序来建立和编辑,一般最常用的是使用Matlab提供的文本编辑器。 该编辑器是

5、一个集编辑和调试于一体的工作环境。,2017/8/8,Application of Matlab Language,8,6.2 程序控制结构,顺序结构选择结构循环结构 任何复杂的程序都可以由这3种基本结构构成。,2017/8/8,Application of Matlab Language,9,6.2.1 顺序结构,顺序结构是指按照程序中语句的排列顺序依次执行,直到程序的最后一个语句。(最简单的一种程序)1、数据的输入 从键盘输入数据,则可以使用input函数来进行, 调用格式为: A = input(提示信息,选项); 其中提示信息为一个字符串,用于提示用户输入数据。 例如:从键盘输入A矩阵

6、,可以采用下面的命令来完成 A = input(输入A矩阵); 如果在input函数调用时采用s选项,则允许用户输入一个字符串。 例:xm = input(Whats your name?,s);,2017/8/8,Application of Matlab Language,10,6.2.1 顺序结构,2、数据的输出 命令窗口输出函数主要有disp函数,其调用格式为: disp(输出项) 其中输出项既可以为字符串,也可以为矩阵。例如: A = Hello, Tom; disp(A) 输出为:Hello, Tom 又如:A = 1,2,3;4,5,6;7,8,9; disp(A) 输出为: 1

7、 2 3 4 5 6 7 8 9 %disp函数输出格式更紧凑,2017/8/8,Application of Matlab Language,11,6.2.1 顺序结构,例5.2 求一元二次方程 的根。由于Matlab能进行复数运算,所以不需要判断方程的判别式,可直接根据求根公式求根。程序如下:a = input(a=?);b = input(b=?);c = input(c=?);d = b*b-4*a*c;x = (-b+sqrt(d)/(2*a),(-b-sqrt(d)/(2*a);disp(x1=,num2str(x(1),x2=,num2str(x(2);程序输出为:a=?4b=?

8、78c=?54x1=-0.7188,x2=-18.7812,2017/8/8,Application of Matlab Language,12,6.2.1 顺序结构,3、程序的暂停 程序执行过程中暂停,可用pause函数,其调用格式为: pause(延迟描述) 如果省略延迟时间,直接使用pause,则将暂停程序,直到 用户按任一键后程序继续执行。 若要强行中止程序的运行可按Ctrl+C键。,2017/8/8,Application of Matlab Language,13,6.2.2 选择结构,选择结构是根据给定的条件成立或不成立,分别执行不同的语句。Matlab用于实现选择结构的语句有i

9、f语句,switch语句和try语句。1. if语句在Matlab中,if语句有3种格式。(1)单分支if语句语句格式:if 条件 语句组end例如:当x是整数矩阵时,输出x的值if fix(x)=x disp(x);end,2017/8/8,Application of Matlab Language,14,6.2.2 选择结构,(2)双分支if语句语句格式:if 条件 语句组 1else 语句组 2end当条件成立时,执行语句组1,否则执行语句组2,然后再执行if语句的后续语句。,2017/8/8,Application of Matlab Language,15,6.2.2 选择结构,例

10、5.3 计算分段函数:,程序如下:x = input(请输入x的值:);if x = 10 y = cos(x+1)+sqrt(x*x+1);else y = x*sqrt(x+sqrt(x);endy,也可以用单分支if语句来实现:x = input(请输入x的值: );y = cos(x+1)+sqrt(x*x+1);if x=10 y = x*sqrt(x+sqrt(x);endy,2017/8/8,Application of Matlab Language,16,6.2.2 选择结构,(3)多分支if语句语句格式:if 条件1 语句组 1elseif 条件2 语句组 2elseif

11、条件m 语句组 melse 语句组nend,2017/8/8,Application of Matlab Language,17,6.2.2 选择结构,2、switch语句switch语句根据表达式的取值不同,分别执行不同的语句,其语句格式:switch 表达式case 表达式1 语句组1case 表达式2 语句组2case 表达式m 语句组motherwise 语句组 nend,switch子句后面的表达式应为一个标量或一个字符串;case子句后面的表达式不仅可以为一个标量或一个字符串,还可以为一个元胞矩阵。,2017/8/8,Application of Matlab Language,1

12、8,例6.5,某商场对顾客所购买的商品实行打折销售,标准如下:price200 没有折扣200=price500 3%折扣500=price1000 5%折扣1000=price2500 8%折扣2500=price5000 10%折扣5000=price 14%折扣输入所售商品的价格,求其实际销售价格。请同学们试着编程实现。,2017/8/8,Application of Matlab Language,19,程序如下,price = input(请输入商品价格);switch fix(price/100) case0,1 %价格小于200 rate = 0; case2,3,4 rate

13、= 3/100; %价格大于等于200但小于500 case num2cell(5:9) rate = 5/100; %价格大于等于500但小于1000 case num2cell(10:24) rate = 8/100; %价格大于等于1000但小于2500 case num2cell(25:49) rate = 10/100; %价格大于等于2500但小于5000 otherwise rate = 14/100; %价格大于等于5000endprice = price*(1-rate) %输出商品实际销售价格,num2cell函数是将数值矩阵转化为单元矩阵。,2017/8/8,Application of Matlab Language,20,6.2.2 选择结构,3. try语句 try语句是一种试探性执行语句,其语句格式为: try 语句组1 catch 语句组2 end try语句先试探性执行语句组1,如果在执行过程中出现错误,则将错误信息赋给保留的lasterr变量,并转去执行语句组2.,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号