matlab 定义函数(Matlab自定义函数的五种方法)
Matlab自定义函数的五种方法 4、Syms+subs:无需M文件,直接定义; 5、字符串+subs:无需M文件,直接定义.1、函数文件+调用函数文件:定义多个M文件: 调用函数文件:myfile.mclear clc t=1:10y=mylfg(t); fprintf(‘%4d^(1/3)=%6.4f\n’,t,y); end %自定义函数文件: mylfg.m function y=mylfg(x) %注意:函数名(mylfg)必须与文件名(mylfg.m)一致 Y=x^(1/3); 注:这种方法要求自定义函数必须单独写一个 文件,不能与调用的命令文件写在同一个M文件中。 2、函数文件+子函数:定义一个具有多个子函数的M 文件 %命令文件:funtry2.m function []=funtry2() t=1:10y=lfg2(t) fprintf(‘%4d^(1/3)=%6.4f\n’); End function y=lfg2(x) x^(1/3);%注:自定义函数文件funtry2.m中可以定义多个子函数function。子函数lfg2 只能被主函数 和主函数中的其他子函数调用。
3、Inline:无需M文件,直接定义; %inline 命令用来定义一个内联函数:f=inline(‘函数表达式’, ‘变量1’,’变量2’,……)。 调用方式:y=f(数值列表) %注意:代入的数值列表顺序应与inline()定义的变量名顺序一致。 例如: z=f(2,3)Ans=7 注:这种函数定义方式是将它作为一个内部函数调用。特点是,它是基于 Matlab 的数值运 算内核的,所以它的运算速度较快,程序效率更高。缺点是matlab 定义函数matlab 定义函数,该方法只能对数值进行代入, 不支持符号代入,且对定义后的函数不能进行求导等符号运算。 ClearClc h=inline(‘x^2’,’x’);4、Syms+subs: 无需M文件,直接定义; 用syms 定义一个符号表达式,用subs 调用: Syms %定义符号表达式subs(f, 代替x的数值或符号) 注:对于在syms 中已经定义过的符号变量,在subs 中进行替代时,单引号可以省略。但是, 如果在syms 后又被重新定义为其他类型,则必须加单引号,否则不可替换。 这种函数定义方法的特点是,可以用符号进行替换 Syms 注:该方法的缺点是,由于使用符号运算内核,运算速度会大大降低。5、字符串+subs:无需M文件,直接定义. 直接定义一个字符串,用subs 命令调用。例如: %定义字符串z=subs(f,’x’,2) 注:优点是,占用内存最少,定义格式方面自由。缺点是,无法对字符进行符号转化。 当所要替代的符号在调用前都已经有了数值定义,则可以直接调用:subs(f).例如: subs(f)ans=12