6第6章M文件与程序设计2015讲解.doc

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

M文件与程序设计 复杂问题的解算需要借助MATLAB程序进行。这种程序的扩展名为m——故称为M文件。 M文件分为(M)脚本文件和(M)函数文件。 本章介绍编写MATLAB程序时常用的控制结构、函数文件的构造、主函数、子函数及述函数句柄的创建、观察和调用。 MATLAB控制流 语 法 说 明 if 表达式 语句体1 elseif 语句体2 else 语句体3 end 1.若表达式返回数组,则仅当所有元素都不为零时为真;若数组为空,则为假。 2.elseif和else可选,其中可有多个elseif。 switch 表达式 case 表达式1 语句体1 case {式2,式3…} 语句体2 otherwise 语句体3 end 1.仅执行第一个满足条件的语句体。 2.case后可用花括号把多个表达式以“或”逻辑连接起来。 3.可有多个case语句。 4.otherwise可选。 for x = 表达式 语句体 end 1.执行确定次数的循环。 2.表达式为矩阵时,x把矩阵按列拉长为向量取值。 while 表达式 语句体 end 若表达式为真时,循环执行语句体。 if-else-end控制结构 if-else-end指令为程序流提供了一种分支控制。 表 6.1-1 if-else-end 分支结构的使用方式 单 分 支 双 分 支 多 分 支 if expr (commands) end if expr (commands1) else (commands2) end if expr1 (commands) elseif expr2 (commands) ……. else (commandsk) end 当expr给出“逻辑1”时,(commands)指令组才被执行。 当expr给出“逻辑1”时,(commands1)指令组被执行;否则,(commands2)被执行。 expr1,expr2,… 中,首先给出“逻辑1”的那个分支的指令组被执行;否则,(commandsk)被执行。 该使用方法常被switch-case所取代。 【例6.1-1】已知函数,编写能对任意一组输入x值求相应y值的程序。 (1)编写函数文件程序: function y=exm060101(x) % y=exm060101(x) Function calculate of example 6.1-1 n=length(x); for k=1:n if x(k)-1 y(k)=x(k); elseif x(k)=1 y(k)=exp(1-x(k)); else y(k)=x(k)^3; end end (2)保存在有哪些信誉好的足球投注网站路径上 (3)调用函数文件 x=[-2,-1.2,-0.4,0.8,1,6] y=exm060101(x) switch-case控制结构 表 6.1-2 switch-case控制结构的使用方式 指 令 格 式 含 义 switch expr case value_1 (commands1) case value_2 (commands2) case value_k (commandsk) otherwise (commands) end expr为根据此前给定变量进行计算的表达式 value_1是给定的数值、字符串标量(或单元数组) 若expr结果与value_1(或其中的单元元素)相等,则执行。 value_k是给定的数值、字符串标量(或单元数组) 若expr结果与value_k(或其中的单元元素)相等,则执行。 该情况是以上的“并”的“补” 若所有case都不发生,则执行该组命令。 【例6.1-2】已知学生的名字和百分制分数。要求根据学生的百分制分数,分别采用“满分”、“优秀”、“良好”、“及格”和“不及格”等表示学生的学习成绩。 clear; for k=1:10 a(k)={89+k};b(k)={79+k};c(k)={69+k};d(k)={59+k}; end; c=[d,c]; % A=cell(3,5); A(1,:)={Jack,Marry,Peter,Rose,Tom}; A(2,:)={72,83,56,94,100}; % for k=1:5 switch A{2,k} case 1

文档评论(0)

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

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

1亿VIP精品文档

相关文档