Matlab自定义函数详细介绍_第1页
Matlab自定义函数详细介绍_第2页
Matlab自定义函数详细介绍_第3页
Matlab自定义函数详细介绍_第4页
Matlab自定义函数详细介绍_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Matlab自定义函数详细介绍总结matlab中函数定义的一些内容:1,函数定义格式在matlab中应该做成M文件,文件名要和你文件里的function后面的函数名一致

在File新建一个M-file在M-file里编辑函数

格式为:

function[输出实参表]=函数名(输入实参数)

注释部分

函数体语句

return语句(可以有可以没有)

如果是文件中的子函数,则可以任意取名,也可以在同一个文件中定义多个子函数

例:function[max,min]=mymainfun(x)

%主函数n=length(x);

max=mysubfun1(x,n);

min=mysubfun2(x);

functionr=mysubfun1(x,n)

%子函数1

x1=sort(x);r=x1(n);

functionr=mysubfun2(x)

%子函数2

x1=sort(x);

r=x1(1);Matlab自定义函数的五种方法

1、函数文件+调用命令文件:需单独定义一个自定义函数的M文件;

2、函数文件+子函数:定义一个具有多个自定义函数的M文件;

3、Inline:无需M文件,直接定义;

4、Syms+subs:

无需M文件,直接定义;

5、字符串+subs:无需M文件,直接定义。

1、函数文件+调用函数文件:定义多个M文件:%

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

无需M文件,直接定义;用syms定义一个符号表达式,用subs调用:Symsfx%定义符号f=1/(1+x^2);%定义符号表达式subs(f,‘x’,

代替x的数值或符号)注:对于在syms中已经定义过的符号变量,在subs中进行替代时,单引号可以省略.但是,如果在syms后又被重新定义为其他类型,则必须加单引号,否则不可替换.这种函数定义方法的特点是,可以用符号进行替换Symsfxf=1/(1+x^2);subs(f,‘x’,’y^2')ans=1/(1+(y^2)^2)注:该方法的缺点是,由于使用符号运算内核,运算速度会大大降低。5、字符串+subs:无需M文件,直接定义.直接定义一个字符串,用subs命令调用.例如:f=’1/(1+x^2)’%定义字符串z=subs(f,'x’,2)g=subs(f,’x’,’y^2’)注:优点是,占用内存最少,定义格

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论