Matlab函数定义和调用_第1页
Matlab函数定义和调用_第2页
Matlab函数定义和调用_第3页
Matlab函数定义和调用_第4页
Matlab函数定义和调用_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

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

文档简介

1、数学实验Matlab 自定义函数q Matlab 自定义函数的五种方式自定义函数的五种方式u 命令文件命令文件/函数文件函数文件+ 函数文件函数文件 :多个多个 M 文件文件自定义函数的五种方式自定义函数的五种方式u 函数文件函数文件 + 子函数子函数 : 一个一个 M 文件文件u inline : 无需无需 M 文件文件u 符号表达式符号表达式 + subs 方式方式 : 无需无需 M 文件文件u 字符串字符串 + subs 方式方式 : 无需无需 M 文件文件%命令命令/函数文件:函数文件:myfile1.mclearfor t=1:10; y=mylfg(t); fprintf(%4d(

2、1/3) = %6.4fn,t,y);end%函数文件:函数文件:mylfg.mfunction y = mylfg(x)y=x(1/3);函数必须单独写一个文件!函数必须单独写一个文件!不能与命令文件写在同一个文件中!不能与命令文件写在同一个文件中!函数名与文件名必须一致!函数名与文件名必须一致!调用函数时要注意调用函数时要注意实参实参与与形参形参的匹配!的匹配!自定义函数方式(一)自定义函数方式(一)q 方式一方式一:命令文件命令文件/函数文件函数文件 + 函数文件函数文件自定义函数方式(二)自定义函数方式(二)%函数文件:函数文件:funtry2.m function =funtry2(

3、)for t=1:10 y=lfg2(t); fprintf(%4d(1/3) = %6.4fn,t,y);endfunction y=lfg2(x) %子函数子函数y=x(1/3);函数文件中可以定义一个或多个函数文件中可以定义一个或多个子函数子函数,此时我们称该函,此时我们称该函数为数为主函数主函数,子函数,子函数只能被主函数或同一个函数文件中的被主函数或同一个函数文件中的其它子函数调用!其它子函数调用!q 方式二方式二:函数文件函数文件 + 子函数子函数f=inline(函数表达式函数表达式,变量变量1 1,变量变量2 2,.)y=f(数值列表数值列表)代入的代入的数值列表数值列表顺序应

4、与定义时的顺序应与定义时的变量名变量名顺序一致顺序一致例:例:自定义函数方式(三)自定义函数方式(三)q 方式三方式三:inline + 命令命令/函数文件函数文件l inline 命令可以用来定义一个命令可以用来定义一个内联函数内联函数l 调用方式:调用方式:u 这种函数定义方式是将这种函数定义方式是将 f 作为一个内部函数调用。其特作为一个内部函数调用。其特点是:调用方式点是:调用方式最接近于我们平时对函数的定义最接近于我们平时对函数的定义,使程序,使程序更具可读性。同时由于它是基于更具可读性。同时由于它是基于 Matlab 的数值计算内核的数值计算内核的,所以它的的,所以它的运算速度较快

5、运算速度较快,程序更有效率。,程序更有效率。u 这种定义方式的缺点:这种定义方式的缺点:l 定义一个内联函数用去的内存空间比相同条件下其他定义一个内联函数用去的内存空间比相同条件下其他的方法要大得多。的方法要大得多。l 该方法该方法只能对数值进行代入只能对数值进行代入,不支持符号代入,并且,不支持符号代入,并且对于定义后的函数对于定义后的函数不能进行求导等符号运算不能进行求导等符号运算。自定义函数方式(三)自定义函数方式(三)自定义函数方式(三)自定义函数方式(三)%函数文件:函数文件:function =funtry3()lfg=inline(x.(1/3); %表达式两端的单引号不可缺少表

6、达式两端的单引号不可缺少fid=fopen(myfile3.txt,w);for t=1:50; y=lfg(t); fprintf(fid,%4d(1/3) = %6.4fn,t,y);endfclose(fid);ezplot(lfg,0,50)diff(lfg,x)自定义函数方式(三)自定义函数方式(三)X注:注:对于在对于在 syms 中已经定义过符号变量,在中已经定义过符号变量,在 subs 中进行中进行替代时,单引号可以省略。但如果在替代时,单引号可以省略。但如果在 syms 后又被重新后又被重新定义为其它类型,则必须加单引号,否则不可替换。定义为其它类型,则必须加单引号,否则不可

7、替换。l syms 定义一个定义一个符号表达式符号表达式,用,用 subs 命令调用命令调用syms f x %定义符号定义符号f=1/(1+x2); %定义符号表达式定义符号表达式subs(f,x,代替代替 x 的数值或符号的数值或符号)自定义函数方式(四)自定义函数方式(四)q 方式四方式四: syms + subsu 这种函数定义方法的一个特点是可以用符号进行替换这种函数定义方法的一个特点是可以用符号进行替换u 该方法的缺点也是明显的:由于使用符号运算内该方法的缺点也是明显的:由于使用符号运算内核,运算速度会大大降低。核,运算速度会大大降低。自定义函数方式(四)自定义函数方式(四)注:注

8、:此处此处 x 的单引号不可省略。本函数方式可以代入字符,的单引号不可省略。本函数方式可以代入字符,但字符不能参与运算,否则将自行转化成该字符的但字符不能参与运算,否则将自行转化成该字符的 ASCII 码运算,这与我们想要的结果可能会大相径庭。码运算,这与我们想要的结果可能会大相径庭。l 直接定义一个字符串,用直接定义一个字符串,用 subs 命令完成调用。命令完成调用。例:例:f=1/(1+x2) % 定义字符串定义字符串z=subs(f,x,2) g=subs(f,x,y2)优点:占内存最少,定义格式方便自由。优点:占内存最少,定义格式方便自由。自定义函数方式(五)自定义函数方式(五)q 方式五方式五:字符串字符串 + subsl subs 命令的一种比较方便的调用方法

温馨提示

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

最新文档

评论

0/150

提交评论