MATLAB实用教程(第5版)课件 第5章 MATLAB程序设计.pptx

MATLAB实用教程(第5版)课件 第5章 MATLAB程序设计.pptx

  1. 1、本文档共121页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第5章 MATLAB程序设计程序流程控制 01for…end循环结构 for…end循环结构MATLAB的循环结构有2种:for…end结构和while…end结构。这2种语句结构不完全相同,各有各的特点。语法:for循环变量=array 循环体end说明:循环体被循环执行,执行的次数就是array的列数,array可以是向量也可以是矩阵,循环变量依次取array的各列,每取1次循环体执行1次。【例5.1】 使用for…end循环编程求出1+3+5…+99的值。sum=0;for n=1:2:100 sum=sum+nend计算的结果为:sum=2500。程序分析:循环变量为n,n对应为向量1:2:100,循环次数为向量的列数,每次循环n取1个元素。 for…end循环结构【例5.2】 使用for…end循环将单位阵转换为列向量。sum=zeros(6,1);for n=eye(6,6)sum=sum+nend计算结果如下。sum=111111程序分析:循环变量n对应为矩阵eye(6,6)的每一列,即第1次n为[1;0;0;0;0;0],第2次n为[0;1;0;0;0;0];循环次数为矩阵的列数6。 02while…end循环结构 while…end循环结构for…end循环的循环次数确定,而while…end循环的循环次数不确定。语法: while表达式 循环体 end说明:只要表达式为逻辑真,就执行循环体;一旦表达式为逻辑假,就结束循环。表达式可以是向量也可以是矩阵。如果表达式为矩阵则当所有的元素都为真时才执行循环体,如果表达式为nan,MATLAB认为是假,就不执行循环体。 while…end循环结构【例5.3】 根据 ,求y3时的最大n值和y值。y=0;n=1;while y3 y=y+1/(2*n-1); n=n+1; z(n)=y;endmn=n-2 %y3之前的nmy=z(n-1) 计算结果如下。mn = 56my = 2.9944程序分析:可以看出while…end循环的循环次数由表达式决定,当y=3时就停止循环。 03构if…else…end条件转移结构 if…else…end条件转移结构if…else…end结构是最常见的条件转移结构。语法:if条件式1语句段1elseif条件式2 语句段2 …else 语句段n+1end说明:当有多个条件时,条件式1为假再判断elseif的条件式2,如果所有的条件式都不满足,则执行else的语句段n+1;当某个条件式为真时则执行相应的语句段;if…else…end结构也可以是没有elseif和else的简单结构。 if…else…end条件转移结构【例5.4】 根据不同的分段表达式 ,绘制分段函数曲线,曲线如图5.1所示。 if…else…end条件转移结构x=0:0.5:10;y=zeros(1,length(x)); %产生0行向量,y的初始值为0for n=1:length(x) if x(n)=8 y(n)=1; elseif x(n)=6 y(n)=5-x(n)/2; elseif x(n)=4 y(n)=2;; else y(n)=sqrt(x(n)); endendplot(x,y)axis([0 10 0 2.5]); 04switch…case开关结构 switch…case开关结构switch…case结构是有多个分支结构的条件转移结构。语法:switch开关表达式case表达式1 语句段1case表达式2 语句段2 …otherwise 语句段nend switch…case开关结构说明:(1)将开关表达式依次与case后面的表达式进行比较,如果表达式1不满足,则与下一个表达式2比较,如果都不满足则执行otherwise后面的语句段n;一旦开关表达式与某个表达式相等,则执行其后面的语句段。(2)开关表达式只能是标量或字符串。(3)case后面的表达式可以是标量、字符串或元胞数组,如果是元胞数组则将开关表达式与元胞数组的所有元素进行比较,只要某个元素与开关表达式相等,就执行其后的语句段。 switch…case开关结构【例5.5】 用switch…case开关结构得出各月份的季节。for month=1:12; switch month case{3,4,5} season=spring case{6,7,8} season=summer case{9,10,11} season=autumn otherwise se

文档评论(0)

lai + 关注
实名认证
内容提供者

精品资料

版权声明书
用户编号:7040145050000060

1亿VIP精品文档

相关文档