网站大量收购独家精品文档,联系QQ:2885784924

matlab入门经典教程ch.doc

  1. 1、本文档共25页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
matlab入门经典教程ch

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= 及

文档评论(0)

173****7830 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档