第 6 章 M 文件和函数句柄
从总体上说,单独的MATLAB 指令,及由若干指令构成的孤立表达式,只能解算或仿
真简单理论数学模型所描述的问题。复杂些的问题通常需要用一组理论数学算式。这些问题的解算及仿真就需要借助较复杂的MATLAB 程序进行。这种MATLAB 程序由较多的MATLAB 指令和多种多样的MATLAB 表达式组成,并循着一定的执行次序运行。这种程序的扩展名为m 。这就是脚本M 文件或函数M 文件。 本章系统介绍编写MATLAB 程序时最常用到的四种控制结构、M 函数文件的构造、主函数、子函数以及匿名函数。最后一节专门叙述函数句柄的创建、观察和调用。
6.1 MATLAB 控制流
作为一种计算机编程语言,MATLAB 提供了多种用于程序流控制的描述关键词(Keyword )。本节只介绍其中最常用的条件控制(if, switch )和循环控制(for, while, continue, break )。由于MATLAB 的这些指令与其它语言相应指令的用法十分相似,因此本节只结合MATLAB 给定的描述关键词,对这四种指令进行简要的说明。
6.1.1
if-else-end 条件控制
if-else-end 指令为程序流提供了一种分支控制,它最常见的使用方式见表6.1-1。
【例6.1-1】已知函数x
x x e x
x y x ≤
???=+-1111
13
,编写能对任意一组输入x 值求相应y 值的程序。 (1)
function y=exm060101(x)
% y=exm060101(x) Function calculate of example 6.1-1
n=length(x); for k=1:n if x(k)=1
y(k)=exp(1-x(k));