第五讲MATLAB程序设计ppt课件

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

语句组m
otherwise
语句组n
end
(exswitch.m)
第五讲 MATLAB程序设计
18
(3)try语句 语句格式为: try
语句组1 catch
语句组2 end
try语句先试探性执行语句组1,如果语句组1在执行 过程中出现错误,则将错误信息赋给保留的lasterr 变量,并转去执行语句组2。
第五讲 MATLAB程序设计
14
2、选择结构
(1) 条件分支语句——if语句 在MATLAB中,if语句有3种格式。 1) 单分支if语句: if 条件 语句组
end
第五讲 MATLAB程序设计
15
2) 双分支if语句: if 条件
语句组1 else
语句组2 end
第五讲 MATLAB程序设计
16
第五讲 MATLAB程序设计
24
三、程序调试
1 错误分类
一般来说,应用程序的错误有两类:
一类是语法错误,例如函数名的拼写错、表达式 书写错等。
另一类是运行时的错误。指程序的运行结果有错 误,这类错误也称为逻辑错误。
第五讲 MATLAB程序设计
25
2、查找逻辑错误的方法:
◆ 删去语句行末的分号,使显示其运行中间结果 ◆ 利用keyboard 命令实现,return继续程序执行 ◆ 注释掉M 函数文件的函数定义行,使函数文件转
第五讲 MATLAB程序设计
19
例: 矩阵乘法运算要求两矩阵的维数相容,否则会 出 错。先求两矩阵的乘积,若出错,则自动转去 求两矩阵的点乘。(extry.m)
第五讲 MATLAB程序设计
20
3、 循环结构
(1)硬循环语句——for语句
for语句的格式为:
for 循环变量 循环体语句
end
例:已知 ,当n=100时,求 程序如下(exfor.m)
n
y
1
1 2n 1
的值。
第五语句
while语句的一般格式为:
while (条件) 循环体语句
end
例 从键盘输入若干个数,当输入0时结束输入,求 这些数的平均值和它们之和。(exwhile.m)
第五讲 MATLAB程序设计
22
(3)循环的嵌套
第五讲 MATLAB程序设计
13
例 输入x,y的值,并将它们的值互换后输出。 (exdisp.m)
(3) 程序的暂停
• 暂停程序的执行可以使用pause函数 • 其调用格式为: • pause(延迟秒数) • 如果省略延迟时间,直接使用pause,则将暂
停程序,直到用户按任一键后程序继续执行。 • 若要强行中止程序的运行可使用Ctrl+C命令。
变成命令文件 ◆利用debugger菜单下的breakpoints来设置断点,
然后利用单步执行来查找错误。(expoints)
第五讲 MATLAB程序设计
26
• 学习技巧:多编程多调试
第五讲 MATLAB程序设计
27
第五讲 MATLAB程序设计
1
② M文件模式
将matlab语句构成的程序存储成以m为扩展名的文 件,然后再执行该程序文件,这种工作模式称为程序 文件模式。
程序文件不能在命令窗口下建立,因为命令窗口只允 许一次执行一行上的一个或几个语句。
第五讲 MATLAB程序设计
2
2 M文件
用MATLAB语言编写的程序,称为M文件。
• 不提倡用全局变量
第五讲 MATLAB程序设计
9
(2)函数参数的可调性
在调用函数时,MATLAB用两个永久变 量nargin和nargout分别记录调用该函数时的 输入实参和输出实参的个数。
在函数文件中包含这两个变量,就可以 准确地知道该函数文件被调用时的输入输出 参数个数,从而决定函数如何进行处理。
全局变量用global命令定义,格式为:
global 变量名
第五讲 MATLAB程序设计
8
例 全局变量应用示例
先建立函数文件wadd.m,该函数将输入的参数 加权相加。 调用第二个函数文件cossin.m
• 注意:程序设计中,全局变量固然可带来某些方便, 但却破坏了函数对变量的封装,降低了程序的可读 性和可靠性;
①命令文件:将用户在MATLAB环境下直接输 入的多条语句或者命令,存放为.m后缀的文件, 在命令行键入文件名,来替代在命令窗口输入 多条语句,一次执行成批命令。
②函数文件:它是有特定书写规范的M文件。必 须有定义行。
第五讲 MATLAB程序设计
4
(3)M文件格式
函数文件: 1)定义行 function 返回变量=函数名(输入变量) 2)注释说明语句段 3)函数体
3. 程序中的变量均为局部变量,不保存在工作空间中。 其变量只在函数运行期间有效。
第五讲 MATLAB程序设计
7
3、 函数文件相关的概念
(1)局部变量和全局变量
局部变量只存在于单个函数工作空间,它 与其它函数是隔离的。函数文件的内部变量 是局部的
全局变量存在整个workspace工作空间,所 有的函数都可以对其进行调用和修改。
(4)命令文件可以直接运行,函数文件不能直接运 行,只能调用。
第五讲 MATLAB程序设计
6
注意问题:
1. 函数m文件第一行必须以单词function作为引导词,表 示该M文件是一个函数文件,必须遵循如下形式: function [因变量]=函数名(自变量)
2. 函数名的命名规则与变量名相同,m文件的文件名必须 是<函数名> .m。
一、M文件
1 MATLAB的工作模式
①指令驱动模式
指令驱动模式 M文件模式
通常matlab以指令驱动模式工作,即在matlab 窗 口下当用户输入单行指令时,matlab 立即处理这条指 令,并显示结果,也就是matlab命令行方式。
命令行操作时,matlab窗口只允许一次执行一行上 的一个或几个语句。
如果一个循环结构的循环体又包括一个 循环结构,就称为循环的嵌套,或称为多重循环 结构。
例17 若一个数等于它的各个真因子之和,则称该 数为完数,如6=1+2+3,所以6是完数。求[1,500] 之间的全部完数。(exforif.m)
第五讲 MATLAB程序设计
23
(4)break语句和continue语句
(1) M文件的创建和打开
• m文件的类型是普通的文本文件,可以使用系统认 可的文本文件编辑器来建立m文件。如windows的 记事本和word等。
• 用matlab自带的编辑器来编制m文件。
第五讲 MATLAB程序设计
3
(2) M文件的分类
M文件根据调用方式的不同分为: 命令文件(脚本文件) 函数文件
3) 多分支if语句:
if 条件1
语句组1
elseif 条件2
语句组2
…… elseif 条件m
语句组m
else 语句组n
end
(exif.m)
第五讲 MATLAB程序设计
17
(2)分支循环语句——switch语句
switch 表达式
case 表达式1
语句组1
case 表达式2
语句组2
……
case 表达式m
它们一般与if语句配合使用。
break语句用于终止循环的执行。当在循环体内执 行到该语句时,程序将跳出循环,继续执行循环 语句的下一语句。
continue语句控制跳过循环体中的某些语句。当在 循环体内执行到该语句时,程序将跳过循环体中 所有剩下的语句,继续下一次循环。
例:求[100,200]之间第一个能被21整除的整数(exbreak.m)
例 nargin用法示例(exnargin.m nargindemo.m )
第五讲 MATLAB程序设计
10
(3) matlab的数据文件——.mat
mat文件是matlab以标准二进制格式保 存的数据文件,可将工作空间中有用的数据 变量保存下来。
mat文件的生成和调用是由函数save和 load完成的。
例 编写函数文件求半径为r的圆的面积和周长。 (fcircle.m)
第五讲 MATLAB程序设计
5
区别 (1)命令文件没有定义行,函数文件必须有定义行
(2)命令式文件没有输入和输出变量,函数文件有 输入和输出变量
(3)命令式文件运行中可以调用工作空间中的数据, 运行中产生的变量出现在工作空间中。函数式文 件不能调用工作空间中的数据,运行中产生的变 量不出现在工作空间中。
第五讲 MATLAB程序设计
11
二、程序控制结构
• 顺序结构 • 选择结构 • 循环结构
第五讲 MATLAB程序设计
12
1、 顺序结构——数据的输入输出
(1) 数据的输入——input命令:从键盘输入数据 该函数的调用格式为:
A=input(提示信息,选项); 选项用于提示用户输入什么类型的数据。 (2)数据的输出——disp命令:显示器输出数据 其调用格式为 disp(输出项) 其中输出项既可以为字符串,也可以为矩阵。
相关文档
最新文档