matlab 定义函数

如题所述

第1个回答  2018-05-29

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的数值运算内核的,所以它的运算速度较快,程序效率更高。 缺点是该方法只能对数值进行代入,但是不支持符号代入,且对定义后的函数不能进行求导等符号运算。

相似回答
大家正在搜