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

  1. 1、本文档共62页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
5.1 MATLAB程序设计 5.2 应用实例;5.1 MATLAB程序设计;5.1.1 M文件;1.建立新的M文件 (1)菜单操作:MATLAB命令窗口的File菜单 → New菜单项 → M-file命令。 (2)命令操作:在MATLAB命令窗口输入命令edit。 (3)命令按钮操作:单击MATLAB命令窗口工具栏上的“新建”命令按钮。 2. 编辑已有的M文件 3. M文件的分类 P116 4.1.2内容 分类:脚本文件(Script File)和函数文件(Function File)。 主要区别。 ;M文件的基本结构;1 脚本文件 没有输入和输出 由一系列指令组成 可在命令窗口直接运行 产生的所有变量存储在workspace中。 例 exam5_1.m。;(1) 函数文件的基本结构 函数文件由function语句引导 其基本结构为: function 输出形参表=函数名(输入形参表) %注释说明部分 函数体语句;函数文件的格式说明 (1)关于函数文件名: 函数文件名与函数名也可以不相同(一般设为相同!)。当两者不同时,MATLAB将忽略函数名而确认函数文件名,因此调用时使用函数文件名。 (2)关于注释说明部分。注释说明包括三部分内容:①紧随函数文件引导行之后以%开头的第一注释行。②第一注释行及之后连续的注释行。③与在线帮助文本相隔一空行的注释行。 ;函数调用的一般格式: [输出实参表]=函数名(输入实参表) 注意:等号左边是方括号,右边输入参数用括号; 例5.1 编写函数文件求半径为r的圆的面积和周长 function [s,p]=fcircle(r) %FCIRCLE calculate the area and perimeter of a circle of radii r %r 圆半径 %s 圆面积 %p 圆周长 s=pi*r*r; p=2*pi*r; 以上函数文件以文件名fcircle.m存入c:\matlab7\work\mas下,然后在MATLAB命令窗口调用该函数: [s,p]=fcircle(10);函数的递归调用 例:利用递归调用函数文件factor.m: function f=factor(n) if n<=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: function fout=charray(a,b,c) if nargin==1 fout=a; elseif nargin==2 fout=a+b; elseif nargin==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,该函数将输入的参数加权相加。 function f=wadd(x,y) global ALPHA BETA f=ALPHA*x+BETA*y; 在命令窗口中输入: global ALPHA BETA 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

文档评论(0)

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

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

认证主体马**

1亿VIP精品文档

相关文档

相关课程推荐