ch07第七课时-M文件和面向对象编程.doc

ch07第七课时-M文件和面向对象编程.doc

ID:51444364

大小:3.79 MB

页数:25页

时间:2020-03-24

ch07第七课时-M文件和面向对象编程.doc_第1页
ch07第七课时-M文件和面向对象编程.doc_第2页
ch07第七课时-M文件和面向对象编程.doc_第3页
ch07第七课时-M文件和面向对象编程.doc_第4页
ch07第七课时-M文件和面向对象编程.doc_第5页
资源描述:

《ch07第七课时-M文件和面向对象编程.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

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

2、门阐述函数句柄的创建和使用,它适用于MATLAB6.x版;而新增的第7.9.3节中关于程序性能优化的内容,则仅适用于MATLAB6.5以后版。7.1入门【例7.1-1】通过M脚本文件,画出下列分段函数所表示的曲面。(1)图7.1-1[exm0701_1.m]%exm0701_1.ma=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));e

3、lseifx(j)+y(i)<=-1z(i,j)=0.5457*exp(-0.75*y(i)^2-3.75*x(j)^2+1.5*x(j));25elsez(i,j)=0.7575*exp(-y(i)^2-6.*x(j)^2);endendendaxis([-a,a,-b,b,min(min(z)),max(max(z))]);colormap(flipud(winter));surf(x,y,z);(2)exm0701_1图7.1-2【例7.1-2】通过M函数文件画出上例分段函数的曲面。exm0701_2(2,2)7.1M文本编辑器7.2MATLA

4、B控制流7.2.1for循环结构【例7.3.1-1】一个简单的for循环示例。fori=1:10;x(i)=i;end;xx=123456789107.2.2while循环结构【例7.3.2-1】Fibonacci数组的元素满足Fibonacci规则:,;且。现要求该数组中第一个大于10000的元素。a(1)=1;a(2)=1;i=2;whilea(i)<=10000a(i+1)=a(i-1)+a(i);i=i+1;25end;i,a(i),i=21ans=109467.1.1if-else-end分支结构【例7.3.3-1】一个简单的分支结构。co

5、st=10;number=12;ifnumber>8sums=number*0.95*cost;end,sumssums=114.0000【例7.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=217.1.2switch-case结构【例7.3.4-1】学生的成绩管理,用来演示switch结构的应用。clear;%fori=1:10;a{i

6、}=89+i;b{i}=79+i;c{i}=69+i;d{i}=59+i;end;c=[d,c];Name={'Jack','Marry','Peter','Rose','Tom'};Mark={72,83,56,94,100};Rank=cell(1,5);%S=struct('Name',Name,'Marks',Mark,'Rank',Rank);%fori=1:5switchS(i).Markscase100S(i).Rank='满分';caseaS(i).Rank='优秀';casebS(i).Rank='良好';casecS(i).Ran

7、k='及格';25otherwiseS(i).Rank='不及格';endend%disp(['学生姓名','得分','等级']);disp('')fori=1:5;disp([S(i).Name,blanks(6),num2str(S(i).Marks),blanks(6),S(i).Rank]);end;学生姓名得分等级Jack72及格Marry83良好Peter56不及格Rose94优秀Tom100满分7.1.1try-catch结构【例7.3.5-1】try-catch结构应用实例:对魔方阵的行进行援引,当“行下标”超出魔方阵的最大行数时,将

8、改向对最后一行的援引,并显示“出错”警告。clear,N=4;A=magic(3);tryA_N=A(N,:

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

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

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