- MATLAB量化金融分析基础与实战
- 马萌
- 7字
- 2024-11-02 04:21:35
第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);