



免费预览已结束,剩余1页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
函数调用是使主程序简明清晰的重要工具,在很大程度上简化了程序的复杂程度,也方便于不同程序使用相同模块的调用。下面主要介绍:函数文件+调用命令文件:需单独定义一个自定义函数的M文件这种方法很简单,定义好输入输出就可以自由调用函数。(1)定义函数 新建一个m文件 在m文件里面第一行输入function 输出值=(任何字母)(输入变量),输入变量和输出值个数不限,根据自己需要定义,接着定义你要实现的功能,最后保存这个m文件,注意:这个m文件的名字就是后面程序调用的名称,同时主程序和函数文件必须保存在同一个文件夹中,而且可以在函数中再嵌套其它函数。(2)调用函数输出值=函数保存的文件名(输入变量)注意,如果输出值只有一个,可以不用中括号,如果两个以上就不必须使用,否则只输出第一个值,而且采用小括号会报错。实例编写一个解方程的程序:定义函数:function x,y=equal(a,b,c)d=b2-4*a*c;x=(-b+sqrt(d)/(2*a);y=(-b-sqrt(d)/(2*a);文件保存为equal主程序调用:r1 r2=myfunction(2,3,-7)结果:r1 =1.2656r2 = -2.7656还是上面的例子,实现函数中调用函数:定义函数1:function testfun=supple(j)testfun =j+5;保存文件为supple(此处不一定要和函数名相同)定义函数2:function x,y=equal(a,b,c)c=supple(c); %调用了一个函数d=b2-4*a*c;x=(-b+sqrt(d)/(2*a);y=(-b-sqrt(d)/(2*a);文件保存为equal主程序调用:r1 r2=myfunction(2,3,-12) %(将c有-7改为-12)结果:r1 =1.2656r2 = -2.7656 %计算结果相同,说明函数中调用函数成功。下面是其它几种常用的函数定义和调用方法:1、函数文件+调用函数文件:定义多个M文件:%调用函数文件:myfile.mclearclcfor t=1:10y=mylfg(t);fprintf(%4d(1/3)=%6.4fn,t,y);end%自定义函数文件: mylfg.mfunction y=mylfg(x)%注意:函数名(mylfg)必须与文件名(mylfg.m)一致Y=x(1/3);注:这种方法要求自定义函数必须单独写一个M文件,不能与调用的命令文件写在同一个M文件中。2、函数文件+子函数:定义一个具有多个子函数的M文件%命令文件:funtry2.mfunction =funtry2()for t=1:10y=lfg2(t)fprintf(%4d(1/3)=%6.4fn);Endfunction y=lfg2(x)Y= x(1/3);%注:自定义函数文件funtry2.m中可以定义多个子函数function。子函数lfg2只能被主函数和主函数中的其他子函数调用。3、Inline:无需M文件,直接定义;%inline命令用来定义一个内联函数:f=inline(函数表达式, 变量1,变量2,)。调用方式:y=f(数值列表)%注意:代入的数值列表顺序应与inline()定义的变量名顺序一致。例如:f=inline(x2+y,x,y);z=f(2,3)Ans=7注:这种函数定义方式是将它作为一个内部函数调用。特点是,它是基于Matlab的数值运算内核的,所以它的运算速度较快,程序效率更高。缺点是,该方法只能对数值进行代入,不支持符号代入,且对定义后的函数不能进行求导等符号运算。例:ClearClcf=x2;Syms x g;g=x2;h=inline(x2,x);4、Syms+subs:无需M文件,直接定义;用syms定义一个符号表达式,用subs调用:Syms f x%定义符号f=1/(1+x2);%定义符号表达式subs(f, x,代替x的数值或符号)注:对于在syms中已经定义过的符号变量,在subs中进行替代时,单引号可以省略。但是,如果在syms后又被重新定义为其他类型,则必须加单引号,否则不可替换。这种函数定义方法的特点是,可以用符号进行替换Syms f xf=1/(1+x2);subs(f, x,y2)ans=1/(1+(y2)2)注:该方法的缺点是,由于使用符号运算内核,运算速度会大大降低。5、字符串+subs:无需M文件,直接定义.直接定义一个字符串,用subs命令调用。例如:f=1/(1+x2)%定义字符串z=subs(f,x,2)g=subs(f,x,y2)注:优点是,占
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 河源市中石油2025秋招笔试模拟题含答案安全环保与HSE岗
- 洛阳市中石油2025秋招笔试模拟题含答案新材料与新能源岗
- 阿克苏市中石油2025秋招面试半结构化模拟题及答案机械与动力工程岗
- 中国广电哈密市2025秋招写作案例分析万能模板直接套用
- 遵义市中石油2025秋招面试半结构化模拟题及答案机械与动力工程岗
- 中国广电兰州市2025秋招财务审计类专业追问清单及参考回答
- 2025年内科护士考试试题及答案
- 2025年数控师傅考试题及答案
- 中国联通海北藏族自治州2025秋招综合管理类专业追问清单及参考回答
- 中国广电牡丹江市2025秋招企业文化50题速记
- GB/T 34903.2-2017石油、石化与天然气工业与油气开采相关介质接触的非金属材料第2部分:弹性体
- 覆岩离层注浆减沉技术研究的新进展课件
- 折纸校本课程纲要
- 车辆保险合作协议
- 北师大版五年级数学上册练习四
- 新汉语水平考试 HSK(四级)
- 绥化基准地价报告(总局平衡)
- 职业院校人才培养工作状态数据采集与管理制度
- T∕CGMA 033001-2018 压缩空气站能效分级指南
- 诊断学基础知识常见症状ppt课件
- 外研版六年级上册英语学案
评论
0/150
提交评论