matlab中定义函数的方式有以下几种:
1、函数文件+调用函数文件:定义多个M文件。
% 调用函数文件:myfile.m
clear
clc
for x=1:10
y=mylfg(x);
end
%自定义函数文件: mylfg.m
function y=mylfg(x) %注意:函数名(mylfg)必须与文件名(mylfg.m)一致
Y=3*x+1;
注:这种方法要求自定义函数必须单独写一个M文件,不能与调用的命令文件写在同一个M文件中。
2、函数文件+子函数:定义一个具有多个子函数的M文件。
%命令文件:funtry2.m
function []=funtry2()
for x=1:10
y=lfg2(x);
End
function y=lfg2(x)
Y= 3*x+1;
%注:自定义函数文件funtry2.m中可以定义多个子函数function。子函数lfg2只能被主函数和主函数中的其他子函数调用。
3、Inline内联函数:无需M文件,直接定义。
%inline命令用来定义一个内联函数:f=inline(‘函数表达式’, ‘变量1’,’变量2’,……)。
调用方式:y=f(数值列表) %注意:代入的数值列表顺序应与inline()定义的变量名顺序一致。
例如:
f=inline(‘3*x+1‘,’x’);
z=f(2)
Ans=7
注:这种函数定义方式是将它作为一个内部函数调用。特点是,它是基于Matlab的数值运算内核的,所以它的运算速度较快,程序效率更高。 缺点是该方法只能对数值进行代入,但是不支持符号代入,且对定义后的函数不能进行求导等符号运算。
标签:自定义