第4章 matlab语言的程序设计.ppt
文本预览下载声明
第4章 MATLAB语言的程序设计 MATLAB与控制系统仿真实践 第4章 MATLAB语言的程序设计 概述 作为一门语言,MATLAB同样支持程序设计所需要的各种结构,并提供了相应指令语句。 MATLAB程序结构与其它高级语言类似。本章将其结构与C语言作对比介绍。没有C语言基础也并不影响理解。 MATLAB程序以m为扩展名的文件(M-file)保存。这样的m文件有2种:脚本文件(Scripts)和函数文件(Functions)。其中函数文件是MATLAB程序设计的主流 本章主要内容 第4章 MATLAB语言的程序设计 4.1 MATLAB语言的流程结构 4.1.1 if, else和elseif组成的条件转移结构 4.1.2 switch,case和otherwise组成的开关结构 4.1.3 循环结构 4.1.4 try 和catch组成的试探结构 4.1.5 MATLAB程序设计举例 4.2 MATLAB函数的编写 4.2.1 MATLAB函数基本结构 4.2.2 MATLAB函数编写举例 4.3 MATLAB程序设计中的一些问题 4.1 MATLAB语言的流程结构 引言 MATLAB提供了循环语句结构、条件语句结构、开关语句结构以及类似于C++和JAVA语言等面向对象语言的试探语句。 本节主要内容 4.1.1 if, else和elseif组成的条件转移结构 4.1.2 switch,case和otherwise组成的开关结构 4.1.3 while, for循环结构 4.1.4 try 和catch组成的试探结构 4.1.5 MATLAB程序设计举例 4.1.1 if, else和elseif组成的条件转移结构 条件转移结构是一般结构化程序设计语言都支持的最常见的程序结构。MATLAB下有两种的转移结构。 4.1.1 if, else和elseif组成的条件转移结构——基本的转移结构 最基本的转移结构为: if 条件表达式 语句段 end 结构流程为: 如果满足条件表达式1,则执行语句段1; 否则跳过语句段1执行end之后的语句。 4.1.1 if, else和elseif组成的条件转移结构 ——扩展的转移结构 扩展转移结构: if 条件表达式1 语句段1 elseif 条件表达式2 语句段2 else 语句段3 end 流程为:如条件表达式1不满足,再判断elseif 的条件表达式2,如果所有的条件均不满足,则执行else的语句段3。可以扩展多个elseif 条件表达式及相应语句段。 4.1.1 if, else和elseif组成的条件转移结构——注意事项 1. 关键字与end标识语句段的起止。语句段不需像C语言中的“{}”包围。这点在其它结构中类同,不再重复强调。 2. 注意elseif 和else if的区别。使用else if命令将引入一个嵌套的if结构,并且必须与end匹配使用。 4.1.2 switch,case和otherwise组成的开关结构 开关结构是有多个分支结构的条件转移结构 : switch 开关表达式 case 表达式1 语句段1 case {表达式2,表达式3,...,表达式m} 语句段2 … otherwise 语句段n end 该结构中开关表达式依次与case表达式相比较。当开关表达式的值等于某个case语句后面的条件时,程序将转移到该组语句中执行,执行完成后程序转出整个开关体继续向下执行。如果都不满足,则转到otherwise的语句段n并执行之。 4.1.2 switch,case和otherwise组成的开关结构——注意事项 注意该结构中的开关表达式只能是标量或字符串;case后面的表达式可以是标量、字符串或单元数组。单元数组表示只要满足这几个条件之一都去执行同一语句段。 4.1.2 switch,case和otherwise组成的开关结构——与C语言的主要区别 (1)MATLAB用otherwise语句表示不符合任何条件时默认执行,而C语言是用default语句完成此功能。 (2)MATLAB执行完某case语句段后即自动转出开关体而无需加break指令。而C语言需要在下一个case语句前加break语句才能跳出,否则要继续执行后面所有case的语
显示全部