四 M 文件和流程控制.ppt

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

四 M 文件和流程控制 MATLAB控制流函数 M脚本文件和函数文件 变量传递和限权使用函数 串演算函数 函数句柄 调试和剖析 §4.1 MATLAB控制流函数 1) 循环控制语句 for, while for x=array ( commands ) end 依次将array中的值赋给 x,并执行commands中的指令。 while expression ( commands ) end 当while的expression成立时,执行commands,否则终止。 注意: end必须和for, while 成对出现,不可省略。特别是出现循环嵌套时,一定要注意 for / while 和end配对的问题。 for循环结构 调用格式: 执行过程:首先将循环变量的初值赋成Vect的第一个数值,然后执行循环体,之后循环变量发生变化,判断循环变量是否是Vect中的数值,如满足仍再执行循环体,直至不满足为止。 [例4-1] 循环控制语句 for, while exm04_1.m % a 中每一个数字等于所在行列数之和 for i = 1:10 for j = 1:10 a(i,j) = i+j; end end a % b 为 a 中元素按单元素下标排成一行 n=1; while n=100 b(n)=a(n); n=n+1; end b 说明: while循环和for循环的区别在于:while循环结构的循环体被执行的次数不是固定的,而for循环结构循环体的执行次数是确定的。 2) 条件控制语句 if, switch if expression1 ( commands1 ) elseif expression2 ( commands2 ) … else ( commandsk ) end IF调用基本格式如下: if 条件结构只能处理简单的条件,MATLAB提供了其他两种条件结构,if…else格式和 if…elseif…else格式,这两种格式的调用格式如下: 条件语句结构框图如下: 开关结构 调用格式: [例4-2] 条件控制语句 if, switch 新建一个M-File,输入下面的指令行,保存为exm04_2.m %exm04_2.m clear; %划分区域:满分(100),优秀(90-99),良好(80-89),及格(60-79),不及格(60)。 for i = 1:10 a{i} = 89+i; % a, b, c,d 均为元胞数组 b{i} = 79+i; c{i} = 69+i; d{i} = 59+i; end c = [d,c]; %及格范围 60-79 Name = { Jack,Marry,Peter, Rose, Tom}; %元胞数组 Mark = {72,83,56,94,100}; Rank=cell(1,5); %创建一个1*5的构架数组S,它有三个域。 S = struct(Name,Name,Marks,Mark,Rank,Rank); %根据学生的分数,求出相应的等级。 for i = 1:5 switch S(i).Marks case 100 %得分为100时 S(i).Rank = 满分; %列为满分等级 case a %得分在90和99之间 S(i).Rank = 优秀; %列为优秀等级 case b %得分在80和89之间 S(i).Rank = 良好; %列为良好等级 case c %得分在60和79之间 S(i).Rank = 及格; %列为及格等级 otherwise %得分低于60。 S(i).Rank = ‘不及格’; %列为不及格等级 end end %将学生姓名,得分,登记等信息打印出来。 disp([‘学生姓名 ’,‘ 得分 ’,‘ 等级’]); disp( ) for i=1:5; disp( [S(i).Name, blanks(6), num2str(S(i).Marks), blanks(6), S(i).Rank] ); end; 在命令窗口运行 exm04_2 学生姓名 得分 等级 Jack 72 及格 Marry 83 良好 Peter 56 不及格 Rose 94 优秀

文档评论(0)

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

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

1亿VIP精品文档

相关文档