MATLAB程序设计及应用实例.ppt

  1. 1、本文档共67页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

1MATLAB程序设计

2应用实例;1MATLAB程序设计;1.1M文件;1.建立新的M文件

(1)菜单操作:MATLAB命令窗口的File菜单→New菜单项→M-file命令。

(2)命令操作:在MATLAB命令窗口输入命令edit。

(3)命令按钮操作:单击MATLAB命令窗口工具栏上的“新建”命令按钮。

2.编辑已有的M文件

3.M文件的分类

分类:脚本文件(ScriptFile)和函数文件(FunctionFile)。

主要区别。

;脚本文件:

将原本要在MATLAB环境下直接输入的语句,放在一个m文件中,这一文件就称为脚本文件,也就是说,脚本文件是一个命令的集合。

函数文件:

函数文件第一行必须是函数定义行。文件由

函数定义行

H1行〔在函数文件中第二行一般为注释行,称为H1行,实际是帮助文件的第一行。是对程序的总体介绍〕

函数帮助文本〔对函数进行详细描述〕

函数体

注释〔解释程序功能的文字〕

这5局部构成

说明:除程序主体外,其他局部以%开头。;1脚本文件

没有输入和输出

由一系列指令组成

可在命令窗口直接运行

产生的所有变量存储在workspace中。;(1)函数文件的根本结构

函数文件由function语句引导

其根本结构为:

function输出形参表=函数名(输入形参表)

function[s,p]=fcircle(r)

%注释说明局部

函数体语句;函数文件的格式说明

(1)关于函数文件名:函数文件名与函数名也可以不相同〔一般设为相同!〕。当两者不同时,MATLAB将忽略函数名而确认函数文件名,因此调用时使用函数文件名。

(2)关于注释说明局部。注释说明包括三局部内容:①紧随函数文件引导行之后以%开头的第一注释行。②第一注释行及之后连续的注释行。③与在线帮助文本相隔一空行的注释行。;局部变量;全局变量;全局变量用命令global定义。函数文件的内部变量是局部的,与其他函数文件及MATLAB工作空间相互隔离

例全局变量应用例如。

先建立函数文件wadd.m,该函数将输入的参数加权相加。

functionf=wadd(x,y)

globalALPHABETA

f=ALPHA*x+BETA*y;

在命令窗口中输入:

globalALPHABETA

ALPHA=1;

BETA=2;

s=wadd(1,2);永久变量;永久变量;函数调用的一般格式:

[输出实参表]=函数名(输入实参表)

注意:等号左边是方括号,右边输入参数用括号;例1编写函数文件求半径为r的圆的面积和周长

function[s,p]=fcircle(r)

%FCIRCLEcalculatetheareaandperimeterofacircleofradiir

%r圆半径

%s圆面积

%p圆周长

s=pi*r*r;

p=2*pi*r;

以上函数文件以文件名fcircle.m存入c:\matlab7\work\mas下,然后在MATLAB命令窗口调用该函数:

[s,p]=fcircle(10);函数的递归调用

例:利用递归调用函数文件factor.m:

functionf=factor(n)

ifn<=1

f=1;

else

f=factor(n-1)*n;

end

在命令文件main5_1.m中调用函数文件factor.m求s=1!+2!+3!+4!+5!。;函数所传递参数的可调性

在调用函数时,MATLAB用两个永久变量nargin和nargout分别记录调用该函数时的输入实参和输出实参的个数。只要在函数文件中包含这两个变量,就可以准确地知道该函数文件被调用时的输入输出参数个数,从而决定函数如何进行处理

例:nargin用法例如;函数文件examp.m:

functionfout=charray(a,b,c)

ifnargin==1

fout=a;

elseifnargin==2

fout=a+b;

elseifnargin==3

fout=(a*b*c)/2;

end

命令文件main5_2.m:

x=[1:3];y=[1;2;3];

examp(x)

examp(x,y')

examp(x,y,3);〔4〕主

您可能关注的文档

文档评论(0)

199****4744 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:7002121022000045

1亿VIP精品文档

相关文档