第2章 程序设计

2.1 函数的定义

MATLAB中的函数代码应放置在文件名与函数名相同、以“.m”为扩展名的脚本文件中,在软件界面左侧【当前文件夹】中双击“.m”文件可进入【MATLAB Editor】进行编辑。函数脚本调用时需将脚本所在文件夹设置为【当前文件夹】或在【设置路径】选项下将其所在文件夹添加到路径列表中。执行函数时在命令行窗口输入函数名且无须输入扩展名“.m”。

2.1.1 单个函数脚本的创建

单击MATLAB软件界面中菜单栏上的【新建脚本】或者按<Ctrl+N>快捷键进入编辑器【MATLAB Editor】新建脚本。任何函数定义都应该以关键字“function”开始,输出变量为多个时用方括号将多个变量包括起来并以逗号隔开。等号右侧为函数名,输入变量用圆括号包括起来并以逗号隔开。脚本编写结束后单击保存或者使用<Ctrl+S>快捷键保存,特别注意保存的文件名必须与函数名相同。编辑过程中如需查找替换可以使用<Ctrl+F>快捷键。

例80:新建“test.m”文件,a和b为输出变量,input1和input2为输入变量。

“test.m”文件内容如下:

function[a,b]=test(input1,input2)

a=num2cell(input1);

b=input2;

在命令行窗口输入以下指令即可得到a,b的值。

>>[a,b]=test(1,1);

如仅想得到a的值则输入以下指令:>>a=test(1,1);

如仅想得到b的值则输入以下指令:

>>[~,b]=test(1,1);

其中~符号可以阻止变量的返回。

2.1.2 含有子函数的脚本创建及调用

例81:创建“test2.m”文件,文件中包含子函数test3,因为test3仅仅将输入变量直接

赋值给输出变量,故此脚本的效果与上例相同。

“test2.m”文件内容如下:

function[a,b]=test2(input1,input2)

a=num2cell(input1);

b=test3(input2);

function c=test3(input1)

c=input1;

因为文件名为“test2”,故只能调用test2函数,而不能调用test3函数。

>>[a,b]=test2(1,1);