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

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

5.1MATLAB程序设计

5.2应用实例;5.1MATLAB程序设计;5.1.1M文献;1.建立新的M文献

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

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

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

2.编辑已有的M文献

3.M文献的分类P1164.1.2内容

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

重要区别。;M文献的基本构造;1脚本文献

没有输入和输出

由一系列指令构成

可在命令窗口直接运行

产生的全部变量存储在workspace中。

例exam5_1.m。;(1)函数文献的基本构造

函数文献由function语句引导

其基本构造为:

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

%注释阐明部分

函数体语句;函数文献的格式阐明

(1)有关函数文献名:函数文献名与函数名也能够不相似(普通设为相似!)。当两者不同时,MATLAB将无视函数名而确认函数文献名,因此调用时使用函数文献名。

(2)有关注释阐明部分。注释阐明涉及三部分内容:①紧随函数文献引导行之后以%开头的第一注释行。②第一注释行及之后持续的注释行。③与在线协助文本相隔一空行的注释行。;函数调用的普通格式:

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

注意:等号左边是方括号,右边输入参数用括号;例5.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);全局变量用命令global定义。函数文献的内部变量是局部的,与其它函数文献及MATLAB工作空间互相隔离

例全局变量应用示例。

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

functionf=wadd(x,y)

globalALPHABETA

f=ALPHA*x+BETA*y;

在命令窗口中输入:

globalALPHABETA

ALPHA=1;

BETA=2;

s=wadd(1,2);5.1.3数据的输入输出指令;input函数;disp函数;例求一元二次方程ax2+bx+c=0的根。

程序以下:

a=input(a=?);

b=input(b=?);

c=input(c=?);

d=b*b-4*a*c;

x=[(-b+sqrt(d))/(2*a),(-b-sqrt(d))/(2*a)];

disp([x1=,num2str(x(1)),,x2=,num2str(x(2))]);;

文档评论(0)

辉辉 + 关注
实名认证
内容提供者

好文件 大家都可以分享

1亿VIP精品文档

相关文档