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

Matlab笔记之十一有关M文件编写.doc

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

Matlab笔记之十一----??? #有关M文件编写# for循环结构: for x = array ( commands ) end while循环结构: while expression ( commands ) end 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) 单分支: if expression (commands) end 双分支: if expression ?? (commands1) else ?? (commands2) end 多分支: if expression1 ??? (commands) elseif expression2 ??? (commands) ………… else ?? (commands) end 如果判决条件expression为一个空数组,MATLAB认为条件为假(false)。 表达式有时由多个逻辑子表达式组成的,MATLAB将尽可能少地检测这些子表达式的值。例如,表达式为:(子表达式1 |子表达式2),当MATLAB检测到子表达式1的值为真时,它就认为表达式为真,而不再对子表达式2进行检测。又如,表达式为:(子表达式1 子表达式2),当MATLAB检测到子表达式1的值为假时,它就认为表达式值为假的,从而跳过该结构。 if指令判决和break指令的配合使用,可以强制终止for循环或while循环。 switch-case结构: switch ex??????? ex为一标量或字符串。 case test1 (commands 1)???? 当ex等于test1时,执行组命令1,然后跳出该结构。 case test2 …… case testk (commands k)???? 当ex等于testk时,执行组命令k,然后跳出该结构。 otherwise??????? otherwise指令可以不存在 (commands)?????? 表达式不等于前面所有检测值时,则执行该组命令。 end 1 当遇到switch结构时,MATLAB将表达式的值依次和各个case指令后面的检测值进行比较。如果比较结果为假,则取下一个检测值再比较,一旦比较结果为真,MATLAB将执行相应的一组命令,然后跳出该结构。如果所有的比较结果都为假,即表达式的值和所有的检测都不等,MATLAB将执行otherwise后面的一组命令。由此可见上述结构保证了至少有一组命令会得到执行。 2 switch指令后面的表达式应为一个标量或者为一个字符串。对于标量形式的表达式,比较这样进行:表达式 = = 检测值i。而对于字符串,MATLAB将调用函数strcmp 来实现比较:strcmp(表达式,检测值i)。 3 case指令后面的检测值不仅可以为一个标量值或一个字符串,还可以为一个元胞数组。如果一个检测值是一个元胞数组,MATLAB将把表达式的值和该元胞数组中的所有元素进行比较;如果元胞数组中某个元素和表达式的值相等,MATLAB认为此次比较结果为真,从而执行与该检测值相应的一组命令。 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); % 创建一个含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( ) f

文档评论(0)

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

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

1亿VIP精品文档

相关文档