《matlab函数》PPT课件.ppt
《《matlab函数》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《matlab函数》PPT课件.ppt(26页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、第第六讲六讲 函数文件函数文件本讲主要内容本讲主要内容:l 什么是函数文件l 如何编写函数文件l 函数参数的可调性l 递归函数l 全局与局部变量l 子函数l 自定义函数的三种途径q M 文件根据调用方式的不同可以分为两类:文件根据调用方式的不同可以分为两类:l Script:脚本文件脚本文件/命令文件命令文件 l 独立的m文件-直接输入直接输入文件名文件名即可运行即可运行l Function:函数文件函数文件 l可调用m文件-它由它由function引导,可供其它引导,可供其它M文件文件调用,通常带输入参数和输出参数调用,通常带输入参数和输出参数Matlab 编程编程表表3-13-1脚本文件与
2、函数文件的区别脚本文件与函数文件的区别脚本文件函数文件输入、输出没有输入参数,不返回输出参数可以带输入参数也可返回输出参数变量操作只操作基本工作空间变量(全局变量)可操作基本工作空间变量(全局变量需用global指定)和局部变量调用方式直接运行必须以函数调用方式l 第一行为第一行为引导行引导行,表示该,表示该 M文件是函数文件文件是函数文件l 函数名的命名规则与变量名相同函数名的命名规则与变量名相同(必须以字母开头必须以字母开头)l 当当输出形参输出形参多于一个时,用多于一个时,用方括号方括号括起来括起来l 以以百分号百分号开始的语句为开始的语句为注释语句注释语句函数文件函数文件q 函数文件由
3、函数文件由 function 语句引导语句引导l 函数函数文件名必须与函数名一致文件名必须与函数名一致l 函数必须是一个函数必须是一个单独的单独的 M文件文件function 输出形参列表输出形参列表=函数名函数名(输入形参列表输入形参列表)%注释说明部分:注释说明部分:%可以被可以被help命令显示命令显示程序语句段程序语句段%函数体部分函数体部分l 函数文件函数文件():例:例:将华氏温度转化为摄氏温度:将华氏温度转化为摄氏温度:编程示例编程示例clear;f=input(Please input f:);c=5*(f-32)/9;fprintf(c=%gn,c);l 脚本文件脚本文件()
4、:function c=ftoc(f)%将华氏温度将华氏温度f转化为摄氏温度转化为摄氏温度cc=5*(f-32)/9;fprintf(c=%gn,c);函数文件举例函数文件举例function s,l=mycircle(r)%函数功能:求半径为函数功能:求半径为r的圆的面积和周长的圆的面积和周长%输入参数输入参数:圆的半径圆的半径r%输出参数:圆的面积输出参数:圆的面积s和周长和周长ls=pi*r2;l=2*pi*r;例:例:编写函数文件求半径为编写函数文件求半径为r的圆的面积和周长的圆的面积和周长 函数定义好了以后,就可以像系统函数一样,随意调用。试一试:函数定义好了以后,就可以像系统函数一
5、样,随意调用。试一试:a=mycircle(10)a b=mycircle(5)y=f2cf(0);函数文件举例函数文件举例function y=func(x)%函数功能:求分段函数函数功能:求分段函数if abs(x)2 error(输入参数太多。);end;if nargin=1 s=b;end;t=0:0.01:2*pi;plot(r*cos(t),r*sin(t),s);axis equal;sa=pi*r2;参数的可调性举例参数的可调性举例r 重要重要系统变量系统变量 nargout:存储调用函数时存储调用函数时输出实参的个数输出实参的个数。r 例:例:nargout 的使用:的使用
6、:%function p,q=nargoutEx(a,b)if(nargout=1)p=a+b;elseif(nargout=2)p=a+b;q=a-b;end若调用格式如下,运行结果分别是什么?若调用格式如下,运行结果分别是什么?x=nargoutEx(4,5)a,b=nargoutEx(4,5)nargoutEx(1,2,3)%函数文件函数文件 function y=myfactor(n)if(n=1)y=1;else y=n*myfactor(n-1);end例:例:利用函数的递归调用计算利用函数的递归调用计算 n!递归函数举例递归函数举例%clear;s=0;n=10;for i=1:
7、n s=s+myfactor(i);endfprintf(s=%g n,s)例:例:计算计算 1!+2!+10!递归函数举例递归函数举例q 函数文件中的变量都是函数文件中的变量都是局部局部的,即一个函数文件中定义的,即一个函数文件中定义的变量不能被另一个函数文件或其它的变量不能被另一个函数文件或其它 M 文件使用文件使用q当函数调用完毕后,该函数文件中定义的所有局部变量当函数调用完毕后,该函数文件中定义的所有局部变量都将被释放,即都将被释放,即全部被清除全部被清除q 函数通过函数通过输入和输出参数输入和输出参数与其它与其它 M 文件进行数据传递文件进行数据传递q 如果在若干个如果在若干个 M文
8、件中,文件中,都把某个变量定义为全局变量都把某个变量定义为全局变量,则这些函数将公共使用这一变量则这些函数将公共使用这一变量。所有函数都可以对它进所有函数都可以对它进行存取和修改操作行存取和修改操作q 定义全局变量是定义全局变量是 M文件间传递信息的一种手段文件间传递信息的一种手段全局变量全局变量(Global)与局部变量与局部变量(Local)l 变量名列表中的各个变量变量名列表中的各个变量用空格隔开用空格隔开,不能用逗号!,不能用逗号!l 在使用全局变量的所有在使用全局变量的所有M文件中,都要对其所使用的全文件中,都要对其所使用的全局变量进行定义,局变量进行定义,即,在即,在M文件中只有特
9、殊定义的,才是文件中只有特殊定义的,才是全局变量,其他都是局部的。全局变量,其他都是局部的。全局变量给函数间的数据传递带来了方便,但却破坏了全局变量给函数间的数据传递带来了方便,但却破坏了函数对变量的封装,降低了程序的可读性,因而函数对变量的封装,降低了程序的可读性,因而在结构在结构化程序设计中,全局变量是不受欢迎的化程序设计中,全局变量是不受欢迎的。特别是当程序。特别是当程序较大,子程序较多时,全局变量将个程序调试和维护带较大,子程序较多时,全局变量将个程序调试和维护带来不便,故不提倡使用全局变量。来不便,故不提倡使用全局变量。global 变量名列表变量名列表全局变量的定义全局变量的定义程
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- matlab函数 matlab 函数 PPT 课件
限制150内