matlab教程(3)剖析

上传人:今*** 文档编号:107672516 上传时间:2019-10-20 格式:PPT 页数:52 大小:624.50KB
返回 下载 相关 举报
matlab教程(3)剖析_第1页
第1页 / 共52页
matlab教程(3)剖析_第2页
第2页 / 共52页
matlab教程(3)剖析_第3页
第3页 / 共52页
matlab教程(3)剖析_第4页
第4页 / 共52页
matlab教程(3)剖析_第5页
第5页 / 共52页
点击查看更多>>
资源描述

《matlab教程(3)剖析》由会员分享,可在线阅读,更多相关《matlab教程(3)剖析(52页珍藏版)》请在金锄头文库上搜索。

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

2、何编辑程序来建立和编辑,一般最常用的是使用Matlab提供的文本编辑器。 该编辑器是一个集编辑和调试于一体的工作环境。,2019/10/20,Application of Matlab Language,4,3.1 M文件的分类,用Matlab语言编写的程序,称为M文件。 是由若干Matlab命令组合在一起构成的,它可以完成某些操作,也可以实现某种算法。 M文件根据调用方式的不同分为两类: 命令文件(Script File) 函数文件(Function File) 它们的扩展名都是.m,2019/10/20,Application of Matlab Language,5,3.2 程序控制结构

3、,顺序结构 选择结构 循环结构 任何复杂的程序都可以由这3种基本结构构成。,2019/10/20,Application of Matlab Language,6,3.2.1 顺序结构,顺序结构是指按照程序中语句的排列顺序依次执行,直到程序的最后一个语句。(最简单的一种程序) 1、数据的输入 从键盘输入数据,则可以使用input函数来进行, 调用格式为: A = input(提示信息); 其中提示信息为一个字符串,用于提示用户输入数据。 例如:从键盘输入数a,可以采用下面的命令来完成 a = input(输入数a);,三种情况: 输入单个数 输入数组 输入字符串 a = input(输入字符串

4、,s);,2019/10/20,Application of Matlab Language,7,2019/10/20,Application of Matlab Language,8,2、数据的输出 命令窗口输出函数主要有disp函数,其调用格式为: disp(输出项) 其中输出项既可以为字符串,也可以为矩阵。例如: A = Hello, Tom; disp(A) 输出为:Hello, Tom 又如:A = 1,2,3;4,5,6;7,8,9; disp(A) 输出为: 1 2 3 4 5 6 7 8 9 %disp函数输出格式更紧凑,2019/10/20,Application of Ma

5、tlab Language,9,例 求一元二次方程 的根。 由于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) 程序输出为: a=?4 b=?78 c=?54 -0.7188 18.7812,2019/10/20,Application of Matlab Language,10,3、程序的暂停 程序执行过程中暂停,可用pause函数,其调用格

6、式为: pause(延迟描述) 如果省略延迟时间,直接使用pause,则将暂停程序,直到 用户按任一键后程序继续执行。 若要强行中止程序的运行可按Ctrl+C键。,2019/10/20,Application of Matlab Language,11,3.2.2 选择结构,选择结构是根据给定的条件成立或不成立,分别执行不同的语句。 Matlab用于实现选择结构的语句有if语句,switch语句和try语句。 1. if语句 在Matlab中,if语句有3种格式。 (1)单分支if语句 语句格式: if 条件 语句组 end 例如: if x 0 disp(-x); end,2019/10/2

7、0,Application of Matlab Language,12,(2)双分支if语句 语句格式: if 条件 语句组 1 else 语句组 2 end 当条件成立时,执行语句组1,否则执行语句组2,然后再执行if语句的后续语句。,2019/10/20,Application of Matlab Language,13,例 计算分段函数:,程序如下: x = input(请输入x的值:); if x = 10 y = cos(x+1)+sqrt(x*x+1); else y = x*sqrt(x+sqrt(x); end y,练习:用单分支语句实现同样的功能。,2019/10/20,Ap

8、plication of Matlab Language,14,(3)多分支if语句 语句格式: if 条件1 语句组 1 elseif 条件2 语句组 2 elseif 条件m 语句组 m else 语句组n end,例子:判断方程 什么时候有两个不同的实数根,什么时候有两个相同的实数根,什么时候有两个不同的复数根。 if (b2 - 4*a*c) 0 disp(This equation has two complex roots.); elseif (b2 - 4*a*c) = 0 disp(This equation has two identical real roots.); el

9、se disp(This equation has two distinct real roots.); end,2019/10/20,Application of Matlab Language,15,练习:下面的语句用来判断一个人的体温是否处于危险状态(温度用的是华氏计量) 。这些语句是否正确?如果不正确,指出错在那里? if temp 97.5 disp(Temperature normal); elseif temp 99.5 disp(Temperature slightly high); elseif temp 103.0 disp(Temperature dangerously

10、high); end,2019/10/20,Application of Matlab Language,16,:在邮局发一个包裹,不超过两英磅的则收款为 10 美元。超过两英磅每英磅按 3.75美元来计费,如果包裹的重量超过了 70 英磅,超过了 70 英磅的部分,每英磅的价格为 1.0美元。如果超过了 100英磅则拒绝邮递。编写一个程序,输入包裹的重量,输出它的邮费。,2019/10/20,Application of Matlab Language,17,关于 if 结构使用的注意事项 1). if结构是非常灵活的, 它必须含有一个 if语句和一个 end 语句。 中间可以有任意个 el

11、seif 语句,也可以有一个 else语句。 2). if语句是可以嵌套的,如 if x 0 语句组 if y 0 语句组 end 语句组 end,2019/10/20,Application of Matlab Language,18,2019/10/20,Application of Matlab Language,19,2、switch语句 switch语句根据表达式的取值不同,分别执行不同的语句,其语句格式: switch exp case exp_1 语句组1 case exp_2 语句组2 case exp_m 语句组m otherwise 语句组 n end,1). 如果 exp

12、的值与 exp_1 相符,那么语句组1会被执行,然后程序将会跳出switch结构。 2). 如果 exp 的值与 exp_2 相符,那么语句组2将会被执行,然后程序将会跳出switch结构。 3). otherwise 语句块是可选的。如果它存在的话,当 exp的值与其他所有的选项都不相符时,这个语句块将会被执行。如果它不存在,且 exp的值与其他所有的选项都不相符,那么这个结构中的任何一个语句块都不会被执行。,如果说 exp 有很多值可以导致相同代码的执行,那么这些值可以括在同一括号内,如下所示。如果这个 switch 表达式和表中任何一个表达式相匹配,那么这个语句块将会被执行。,2019/

13、10/20,Application of Matlab Language,20,switch exp case exp_1,exp_2,exp_3 语句组1 case exp_4,exp_5 语句组2 otherwise 语句组 n end,2019/10/20,Application of Matlab Language,21,例,某商场对顾客所购买的商品实行打折销售,标准如下: price200 没有折扣 200=price500 3%折扣 500=price1000 5%折扣 1000=price 8%折扣 输入所售商品的价格,求其实际销售价格。,2019/10/20,Applicati

14、on of Matlab Language,22,程序如下,price = input(请输入商品价格); switch floor(price/100) case 0,1 %价格小于200 rate = 0; case 2,3,4 rate = 3/100; %价格大于等于200但小于500 case 5,6,7,8,9 rate = 5/100; %价格大于等于500但小于1000 otherwise rate = 8/100; %价格大于等于1000 end price = price*(1-rate) %输出商品实际销售价格,练习:用switch case 结构编写程序,输入一个1到

15、10 之间的整数,判断它是质数还是合数。,2019/10/20,Application of Matlab Language,23,2019/10/20,Application of Matlab Language,24,3.2.3 循环结构,循环是指按照给定的条件,重复执行指定的语句,Matlab提供了两种 实现循环结构的语句:for语句和while语句。 1、for语句 for语句的格式为: for index = expr 循环体语句 end index是循环变量, exp数组是循环控制表达式。 exp数组的每一列逐次赋值给循环变量index ,然后程序执行循环体语句 ,所以 expr有

16、多少列,循环体就循环多少次。expr经常用冒号操作符生成,即 first:incr:last。,2019/10/20,Application of Matlab Language,25,例,已知 ,当n=100时,求y的值。 程序如下: y = 0;n = 100; for i=1:n y = y+1/i2; end y 输出结果为: y = 1.6350,利用Matlab的特点,常用向量运算来代替循环操作,程序可以如下: n = 100; i = 1:n; f = 1./i.2; y = sum(f),练习:利用for语句编写程序计算n的阶乘。,2019/10/20,Application of Matlab Language,26,2019/10/20,Application

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 大学课件

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