脚本和函数都允许您通过将命令序列存储在程序文件中来重用它们。脚本是最简单的程序类型,因为它们存储命令的方式与您在命令行中键入命令完全相同
1.Script Files
2. 使用edit函数:edit file_name;若存在file_name这个文件,则打开该文件。若不存在则会新建一个Unititled.m文件
script中的程序运行后,工作区会保留运行过程中产生的变量,这与函数不同,两者在不同的工作区下,函数运行后不会保留函数中的变量,仅仅会保留一个返回的结果。
2.User-Defined Function
格式:function [输出结果(可谓矩阵)] =函数名(输入变量)
%注释(此处会在命令窗口使用help 函数名 时显示)
函数体;
end
例子:function [sum]=getSum(a,b)
sum=a+b;
end
调用:a=getSum(12,23);
注意:这里的函数必须保存在一个单独的.M文件中,getSum()函数的保存文件名要与函数名一致
函数参数的可调性:调用函数的是的系统的两个预定义变量:
nargin-->输入实参的个数;
nargout-->输出实参的个数;
2.在一个.M文件中定义函数和一个/多个它的子函数。
function sum=getSum(a,b)
a=multip(a);
sum=a+b;
end
function y=multip(x)
y=x.^2;
注:有多个函数时,第一个函数为主函数。子函数只能被主函数或者同一函数文件中的其他子函数调用,无法再脚本或命令窗口调用。
3. 匿名函数(Anonymous Function)
使用句柄来表示匿名函数:函数句柄=@(变量--形参) 函数体;不用单独创建.M文件,可以直接在命令窗口或脚本文件中使用
getSum=@(a,b) a+b;%此处为函数句柄
调用getSum(1,2);
4. 在线函数(InLine Function )
通常作为参数传递给另外一个函数。
getSum=inline('a+b','a','b');%此处为内联函数,速度快。
%创建函数getSum(a,b),求a+b的和。