matlab3程序设计

matlab3程序设计

ID:18973888

大小:186.50 KB

页数:13页

时间:2018-09-20

matlab3程序设计_第1页
matlab3程序设计_第2页
matlab3程序设计_第3页
matlab3程序设计_第4页
matlab3程序设计_第5页
资源描述:

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

1、MatLab&数学建模授课:曾景峰(江西环境工程职业学院)第三讲MatLab程序设计一、M文件我们前面所介绍在MATLAB所做的运算,是适合于所要计算的算式不太长或是想以交谈式方式做运算,如果要计算的算式很长有数十行或是须要一再执行的算式,则那样的方式就行不通了。MATLAB提供了所谓的M-file的方式,可让使用者自行将指令及算式写成巨集程式然后储存成一个特别的文档,其扩展名是m,譬如picture.m,其中的picture就是文件名称。(1)编写M脚本文件的步骤l点击MATLAB指令窗工具条上的NewFile图标,就可打开如图所示的MATLAB文件编辑调试器

2、。用户即可在空白窗口中编写程序。输入如下一段程序(picture.m)x=linspace(0,2*pi,20);y=sin(x);plot(x,y,'r+')title('2Dplot')13点击编辑调试器工具条图标,在弹出的Windows标准风格的“保存为”对话框中,选择保存文件夹,键入新编文件名(如picture),点击【保存】键,就完成了文件保存。(2)运行文件l使picture.m所在目录成为当前目录(系统默认路径),或让该目录处在MATLAB的搜索路径上.l然后在指令窗口运行以下指令,便可得到图形。picture13再来看另一个M-file:area

3、.m的例子%新建M-file,area.m%计算一个球的体积r=input('Typeradius输入半径:');Area=pi*r^2;volume=(4/3)*pi*r^3;fprintf('半径Theradiusis%12.5f',r)fprintf('面积Theareaofacircleis%12.5f',Area)fprintf('体积Thevolumeofasphereis%12.5f',volume)在指令窗口运行指令area13一、M文件函数一个函数M文件与脚本文件类似之处在于它们都是一个有.m扩展名的文本文件。如同脚本M文件一样,函

4、数M文件不进入命令窗口,而是由文本编辑器所创建的外部文本文件。一个函数的M文件与脚本文件在通信方面是不同的。函数与MATLAB工作空间之间的通信,只通过传递给它的变量和通过它所创建的输出变量。在函数内中间变量不出现在MATLAB工作空间,或与MATLAB工作空间不交互。一个函数的M文件的第一行把M文件定义为一个函数,并指定它的名字。它与文件名相同,但没有.m扩展名。它也定义了它的输入和输出变量。M文件函数之间可以互相调用.M文件函数必须遵循以下特定的规则。1.函数名和文件名必须相同。例如,函数fliplr存储在名为fliplr.m文件中。2.MATLAB头一次执

5、行一个M文件函数时,它打开相应的文本文件并将命令编辑成存储器的内部表示,以加速执行以后所有的调用。如果函数包含了对其它M文件函数的引用,它们也同样被编译到存储器。普通的脚本M文件不被编译,即使它们是从函数M文件内调用;打开脚本M文件,调用一次就逐行进行注释。3.在函数M文件中,到第一个非注释行为止的注释行是帮助文本。当需要帮助时,返回该文本。例如,»helpfliplr返回上述前八行注释。4.第一行帮助行,名为H1行,是由lookfor命令搜索的行。5.函数可以有零个或更多个输入参量。函数可以有零个或更多个输出参量。6.函数可以按少于函数M文件中所规定的输入和输

6、出变量进行调用,但不能用多于函数M文件中所规定的输入和输出变量数目。如果输入和输出变量数目多于函数M文件中function语句一开始所规定的数目,则调用时自动返回一个错误。7.当函数有一个以上输出变量时,输出变量包含在括号内。例如,[V,D]=eig(A)。不要把这个句法与等号右边的[V,D]相混淆。右边的[V,D]是由数组V和D所组成。8.当调用一个函数时,所用的输入和输出的参量的数目,在函数内是规定好的。函数工作空间变量nargin包含输入参量个数;函数工作空间变量nargout包含输出参量个数。事实上,这些变量常用来设置缺省输入变量,并决定用户所希望的输出

7、变量。例:,计算f(1)f(2)+f2(3)首先建立一个M函数:fun1.mfunctionY=fun1(x)Y=(x^3-2*x^2+x-6.3)/(x^2+0.05*x-3.14);在指令窗口运行以下指令:fun1(1)*fun1(2)+fun1(3)*fun1(3)13ans=-12.6023例:计算阶层函数fact.mfunctionoutput=fact(n)ifn==1output=1;return;endoutput=n*fact(n-1);【例】M函数文件示例。[circle.m]functionsa=circle(r,s)%CIRCLEplot

8、acircleofrad

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

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

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