精通matlab65版 7 M文件和面向对象编程.pdf

精通matlab65版 7 M文件和面向对象编程.pdf

ID:51491876

大小:362.81 KB

页数:25页

时间:2020-03-25

精通matlab65版 7 M文件和面向对象编程.pdf_第1页
精通matlab65版 7 M文件和面向对象编程.pdf_第2页
精通matlab65版 7 M文件和面向对象编程.pdf_第3页
精通matlab65版 7 M文件和面向对象编程.pdf_第4页
精通matlab65版 7 M文件和面向对象编程.pdf_第5页
资源描述:

《精通matlab65版 7 M文件和面向对象编程.pdf》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

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

2、越和至关要领。本章新增了第7.7节,专门阐述函数句柄的创建和使用,它适用于MATLAB6.x版;而新增的第7.9.3节中关于程序性能优化的内容,则仅适用于MATLAB6.5以后版。7.1入门【例7.1-1】通过M脚本文件,画出下列分段函数所表示的曲面。22.05457e−.075x2−.375x1−5.1x1x+x>112−x2−6x2p(x,x)=.07575e21−1

3、701_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));elseifx(j)+y(i)<=-1z(i,j)=0.5457*exp(-0.75*y(i)^2-3.75*x(j)^2+1.5*x(j));1elsez(i,j)=0.7575*exp(-y(i)^2-

4、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.2M文本编辑器7.3MATLAB控制流7.3.1for循环结构【例7.3.1-1】一个简单的for循环示例。fori=1:10;x(i)=i;end;xx=123456789107.3.2w

5、hile循环结构【例7.3.2-1】Fibonacci数组的元素满足Fibonacci规则:a=a+a,(k=,2,1);k+2kk+1且a=a=1。现要求该数组中第一个大于10000的元素。12a(1)=1;a(2)=1;i=2;whilea(i)<=10000a(i+1)=a(i-1)+a(i);i=i+1;end;2i,a(i),i=21ans=109467.3.3if-else-end分支结构【例7.3.3-1】一个简单的分支结构。cost=10;number=12;ifnumber>8sums=num

6、ber*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.3.4switch-case结构【例7.3.4-1】学生的成绩管理,用来演示switch结构的应用。clear;%fori=1:10;a{i}=89+i;b{i}=79+

7、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)

8、.Rank='及格';otherwiseS(i).Rank='不及格';3endend%disp(['学生姓名','得分','等级']);disp('')fori=1:5;disp([S(i).Name,blanks(6),num2str(S(i).Marks),blanks(6),S(i).Rank]);end;学生姓名得分等级Jack72及格Marry83良好Pete

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

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

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