第3讲__MATLAB程序设计.ppt

第3讲__MATLAB程序设计.ppt

ID:60740921

大小:84.50 KB

页数:13页

时间:2020-02-02

第3讲__MATLAB程序设计.ppt_第1页
第3讲__MATLAB程序设计.ppt_第2页
第3讲__MATLAB程序设计.ppt_第3页
第3讲__MATLAB程序设计.ppt_第4页
第3讲__MATLAB程序设计.ppt_第5页
资源描述:

《第3讲__MATLAB程序设计.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、4.1函数文件(用户自定义函数)4.1.1函数文件的基本结构函数文件由function语句引导,其基本结构为:function输出形参表=函数名(输入形参表)注释说明部分函数体语句其中以function开头的一行为引导行,表示该M文件是一个函数文件。函数名的命名规则与变量名相同。输入形参为函数的输入参数,输出形参为函数的输出参数。当输出形参多于一个时,则应该用方括号括起来。函数文件如下:function[s,p]=fcircle(r)%CIRCLEcalculatetheareaandperimeterofacircleofradiir%r圆半径%s圆面积%p圆周长s=p

2、i*r*r;p=2*pi*r;例4-1编写函数文件求半径为r的圆的面积和周长。4.1.2函数调用函数调用的一般格式是:[输出实参表]=函数名(输入实参表)要注意的是,函数调用时各实参出现的顺序、个数,应与函数定义时形参的顺序、个数一致,否则会出错。函数调用时,先将实参传递给相应的形参,从而实现参数传递,然后再执行函数的功能。注意:函数文件与命令文件的不同。虽然程序中应用到变量r,p,s,mj,zc但是在工作空间中只有mj,zc的两个变量即:函数文件的变量并不存在于工作空间,是局部变量例4-2利用函数文件,实现直角坐标(x,y)与极坐标(ρ,θ)之间的转换。函数文件tran

3、.m:function[rho,theta]=tran(x,y)rho=sqrt(x*x+y*y);theta=atan(y/x);调用tran.m的命令文件main1.m:x=input('Pleaseinputx=:');y=input('Pleaseinputy=:');[rho,the]=tran(x,y);rhothe例4-3利用函数的递归调用,求n!。显然,求n!需要求(n-1)!,这时可采用递归调用。递归调用函数文件factor.m如下:functionf=factor(n)ifn<=1f=1;elsef=factor(n-1)*n;%递归调用求(n-1)!

4、end在MATLAB中,函数可以嵌套调用,即一个函数可以调用别的函数,甚至调用它自身。一个函数调用它自身称为函数的递归调用。4.1.3函数参数的可调性在调用函数时,MATLAB用两个永久变量nargin和nargout分别记录调用该函数时的输入实参和输出实参的个数。只要在函数文件中包含这两个变量,就可以准确地知道该函数文件被调用时的输入输出参数个数,从而决定函数如何进行处理。functionfout=charray(a,b,c)ifnargin==1fout=a;elseifnargin==2fout=a+b;elseifnargin==3fout=(a*b*c)/2;e

5、nd命令文件mydemo.m:x=[1:3];y=[1;2;3];charray(x)charray(x,y')charray(x,y,3)例4-4nargin用法示例。函数文件examp.m:例4-5全局变量应用示例。先建立函数文件wadd.m,该函数将输入的参数加权相加。functionf=wadd(x,y)globalALPHABETAf=ALPHA*x+BETA*y;在命令窗口中输入:globalALPHABETAALPHA=1;BETA=2;s=wadd(1,2)4.1.4全局变量与局部变量全局变量用global命令定义,格式为:global变量名由于在函数中以

6、及基本工作空间中都把ALPHA,BETA定义为全局变量,所以只要在命令窗口改变改变量值,就可以改变权系数。4.2程序调试4.2.1程序调试概述一般来说,应用程序的错误有两类,一类是语法错误,另一类是运行时的错误。语法错误包括词法或文法的错误,例如函数名的拼写错、表达式书写错等。程序运行时的错误是指程序的运行结果有错误,这类错误也称为程序逻辑错误。语法错误可以通过分析MATALB给出的错误信息,排查程序中的语法错误。程序逻辑错误就要通过一些调试手段进行。4.2.2调试器Debug菜单项该菜单项用于程序调试,需要与Breakpoints菜单项配合使用。(1)step:单步运行

7、,每单击一次,程序运行一次,但进入函数。(2)stepin:单步运行,遇到函数进入函数内,仍单步运行。(3)stepout:停止单步运行。如果在函数中,跳出函数,如果不在函数中,直接运行到下一断点。(4)saveandrun:储存文件并开始运行(5)gountilcursor:直接运行到光标所在位置1、控制单步运行(共5个命令)2、断点操作(共5个命令)(1)设置或清除断点。(2)设置或修改条件断点(条件断点可是使程序执行满足一定条件停止)。(3)使断点有效或无效(4)清除所有断点(5)在程序执行出现错误或警告时,停止程序运行

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。