【matlab 简易教程】第八章 m文件和面向对象编程

【matlab 简易教程】第八章 m文件和面向对象编程

ID:14723264

大小:1.51 MB

页数:23页

时间:2018-07-30

【matlab 简易教程】第八章  m文件和面向对象编程_第1页
【matlab 简易教程】第八章  m文件和面向对象编程_第2页
【matlab 简易教程】第八章  m文件和面向对象编程_第3页
【matlab 简易教程】第八章  m文件和面向对象编程_第4页
【matlab 简易教程】第八章  m文件和面向对象编程_第5页
资源描述:

《【matlab 简易教程】第八章 m文件和面向对象编程》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、Matlab简易教程238M文件和面向对象编程假如读者想灵活运用MATLAB去解决实际问题,想充分调动MATLAB——科学技术资源,想理解MATLAB版本升级所依仗的基础,那么本章内容将十分有用。本章将涉及比较深层的MATLAB内容:脚本;函数(一般函数、内联函数、子函数、私用函数、方法函数);程序调试和剖析;数据结构(类、对象);重载和继承;面向对象编程。本章配备了许多精心设计的算例。这些算例是完整的,可直接演练的。读者通过这些算例,将真切感受到抽象概念的内涵、各指令间的协调,将从感知上领悟到面

2、向对象编程的优越和至关要领。8.1入门【*例8.1-1】通过M脚本文件,画出下列分段函数所表示的曲面。(1)编写M脚本文件的步骤图8.1-1-1MATLABEditor/Debugger窗口l点击MATLAB指令窗工具条上的NewFile图标,就可打开如图8.1-1-1所示的MATLAB文件编辑调试器MATLABEditor/Debugger。其窗口名为untitled,用户即可在空白窗口中编写程序。比如输入如下一段程序[zx81.m]%zx81.mThisismyfirstexample.<1>

3、a=2;b=2;%<2>clf;x=-a:0.2:a;y=-b:0.2:b;fori=1:length(y)forj=1:length(x)ifx(j)+y(i)>1z(i,j)=0.5457*exp(-0.75*y(i)^2-3.75*x(j)^2-1.5*x(j));elseifx(j)+y(i)<=-1z(i,j)=0.5457*exp(-0.75*y(i)^2-3.75*x(j)^2+1.5*x(j));23elsez(i,j)=0.7575*exp(-y(i)^2-6.*x(j)^2);

4、endendendaxis([-a,a,-b,b,min(min(z)),max(max(z))]);colormap(flipud(winter));surf(x,y,z);l点击编辑调试器工具条图标,在弹出的Windows标准风格的“保存为”对话框中,选择保存文件夹,键入新编文件名(如zx81),点动【保存】键,就完成了文件保存。(2)运行文件l使zx81.m所在目录成为当前目录,或让该目录处在MATLAB的搜索路径上l然后运行以下指令,便可得到图形。zx81图8.1-1-2运行zx81.m得

5、到的图形【*例8.1-2】通过M函数文件画出上例分段函数的曲面。整个编程步骤和相同。在此演示,如何在zx81.m基础上产生函数文件zx82.m。l在编辑调试器中,选择【File:SaveAs】子菜单,把zx81.m文件“另存为”zx82.m。l用下面4行指令代替原文件的第<1><2>条指令。functionzx82(a,b)%Thisismysecondexample.%aDefinethelimitofvariablex.%bDefinethelimitofvariabley.l进行上述修改后,

6、对zx82.m再次实施“保存”操作。l在MATLAB指令窗中,运行以下指令,就能产生与图8.1-1-2完全相同的图形。zx82(2,2)8.1M文本编辑器8.1.1利用文本编辑器编写M文件8.1.2【tools】菜单8.2MATLAB控制流238.1.1for循环结构【*例8.3.1-1】一个简单的for循环示例。fori=1:10;%i依次取1,2,…10,.x(i)=i;%对每个i值,重复执行由该指令构成的循环体,end;x%要求显示运行后数组x的值。x=123456789108.1.2whi

7、le循环结构【*例8.3.2-1】Fibonacci数组的元素满足Fibonacci规则:,;且。现要求该数组中第一个大于10000的元素。a(1)=1;a(2)=1;i=2;whilea(i)<=10000a(i+1)=a(i-1)+a(i);%当现有的元素仍小于10000时,求解下一个元素。i=i+1;end;i,a(i),i=21ans=109468.1.3if-else-end分支结构【*例8.3.3-1】一个简单的分支结构。cost=10;number=12;ifnumber>8sums

8、=number*0.95*cost;end,sumssums=114.0000【*例8.3.3-2】用for循环指令来寻求Fibonacc数组中第一个大于10000的元素。n=100;a=ones(1,n);fori=3:na(i)=a(i-1)+a(i-2);ifa(i)>=10000a(i),break;%跳出所在的一级循环。end;end,ians=10946i=23218.1.1switch-case结构【*例8.3.4-1】学生的成绩管理,用来演示switch结构的应用。

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

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

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