- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
M文件和面向对象编程
假如读者想灵活运用MATLAB去解决实际问题,想充分调动MATLAB——科学技术资源,想理解MATLAB版本升级所依仗的基础,那么本章内容将十分有用。
本章将涉及比较深层的MATLAB内容:脚本;函数(一般函数、内联函数、子函数、私用函数、方法函数);函数句柄的创建和使用;程序调试和剖析;数据结构(类、对象);重载和继承;面向对象编程。本章配备了许多精心设计的算例。这些算例是完整的,可直接演练的。读者通过这些算例,将真切感受到抽象概念的内涵、各指令间的协调,将从感知上领悟到面向对象编程的优越和至关要领。
本章新增了第7.7节,专门阐述函数句柄的创建和使用,它适用于MATLAB6.x版;而新增的第7.9.3节中关于程序性能优化的内容,则仅适用于MATLAB6.5以后版。
入门
【例7.1-1】通过M脚本文件,画出下列分段函数所表示的曲面。
(1)
图 7.1-1
[exm0701_1.m]
%exm0701_1.m
a=2;b=2; % 2
clf;
x=-a:0.2:a;y=-b:0.2:b;
for i=1:length(y)
for j=1:length(x)
if x(j)+y(i)1
z(i,j)=0.5457*exp(-0.75*y(i)^2-3.75*x(j)^2-1.5*x(j));
elseif x(j)+y(i)=-1
z(i,j)=0.5457*exp(-0.75*y(i)^2-3.75*x(j)^2+1.5*x(j));
else z(i,j)=0.7575*exp(-y(i)^2-6.*x(j)^2);
end
end
end
axis([-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)
M文本编辑器
MATLAB控制流
for循环结构
【例7.3.1-1】一个简单的for循环示例。
for i=1:10;
x(i)=i;
end;
x
x =
1 2 3 4 5 6 7 8 9 10
while循环结构
【例7.3.2-1】Fibonacci数组的元素满足Fibonacci 规则: ,;且。现要求该数组中第一个大于10000的元素。
a(1)=1;a(2)=1;i=2;
while a(i)=10000
a(i+1)=a(i-1)+a(i);
i=i+1;
end;
i,a(i),
i =
21
ans =
10946
if-else-end分支结构
【例7.3.3-1】一个简单的分支结构。
cost=10;number=12;
if number8
sums=number*0.95*cost;
end,sums
sums =
114.0000
【例7.3.3-2】用for循环指令来寻求Fibonacc数组中第一个大于10000的元素。
n=100;a=ones(1,n);
for i=3:n
a(i)=a(i-1)+a(i-2);
if a(i)=10000
a(i),
break;
end;
end,i
ans =
10946
i =
21
switch-case结构
【例7.3.4-1】学生的成绩管理,用来演示switch结构的应用。
clear;
%
for i=1:10;a{i}=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);
%
for i=1:5
switch S(i).Marks
case 100
S(i).Rank=满分;
case a
S(i).Rank= 优秀;
case b
S(i).Rank= 良好;
case c
S(i).Rank=
您可能关注的文档
最近下载
- 王力《古代汉语》教案.doc
- 排球大单元教学计划18课时.doc VIP
- 开学第一课(课件)七年级英语上册(人教版2024).pptx VIP
- 2024年GD省生态环境监测专业技术人员大比武模拟试卷及答案-3应急监测.pdf VIP
- 鸿蒙HarmonyOS应用开发者高级认证练习题及答案01.docx
- 文献检索的方法以及技巧ppt课件.docx VIP
- 2024年某省生态环境监测专业技术人员大比武模拟试卷及答案-3应急监测.pdf VIP
- 2025年乡镇农技站高标准农田建设管理员招聘面试题库附答案.doc VIP
- 锚杆长度检测课件.pptx VIP
- 2025年乡镇农技站高标准农田建设管理员招聘面试专项练习含答案.doc VIP
文档评论(0)