版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2027届云南省文山州文山市马塘中学化学九上期中统考模拟试题含解析
- 2027届安徽省六安市叶集区九年级化学第一学期期中调研模拟试题含解析
- 2027届辽宁省沈阳市沈河区九上化学期中统考模拟试题含解析
- 2027届山东省威海市文登区实验中学物理九上期末检测试题含解析
- 山东省济南市商河县2027届九年级化学第一学期期末联考模拟试题含解析
- 2026中国休闲食品代工企业服务能力与客户结构报告
- 2026中国养老护理行业市场供需分析及投资评估发展趋势研究报告
- 2026中国氢能储运技术路线选择与基础设施投资风险评估
- 2026农业肥料行业市场深度调研及行业方向与投资布局研究报告
- 2026中国新能源电动自行车行业市场现状供需分析及投资评估规划分析研究报告
- 2026年贵州省毕节市中小学教师招聘考试真题及答案
- 2026年湖南娄底冷水江市科创集团有限公司招聘3人笔试参考题库及答案详解
- 2026-2030中国戊烷80和和20行业市场发展趋势与前景展望战略分析研究报告
- 2026时尚产业现状报告
- GB 47834-2026晶体硅光伏组件和逆变器能效限定值及能效等级
- 泳池灯光安装调试施工方案及技术措施
- 2026年部编版二年级上册语文教材分析
- 2026年养老管理师考试试题及答案详解
- 2026年广西公需科目全套1卷《人工智能国家战略与政策通识》
- T-CECS 《多段多级AO除磷脱氮技术规程》
- 埃博拉病毒病诊疗方案(2026年版)解读课件
评论
0/150
提交评论