




已阅读5页,还剩28页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
数值计算与编程技术 主讲人:朱萍玉 第六章 M文件和函数句柄 M脚本文件 for循环和while循环 M函数文件 总结 if-else-end条件控制 M脚本文件 对于一些简单的问题,我们可以在指令窗 (CommandWindow)中直接输入指令。 如果指令数很多,同时程序也比较复杂,里 面的控制流复杂的话,直接从指令窗进行计算就 显得烦琐。 所谓M脚本文件,就是Matlab按照脚本文件里 面的代码一步一步地执行。 M脚本文件 l 文件的扩展名为.m,文件为纯文本文件(可用记 事本等纯文本编辑器进行编辑) l 文件按Maltab变量名的规则进行命名,不可包含 中文等字符,否则无法在Maltab中进行调用(虽 然可以正常存盘)。 l 脚本文件运行后,所产生的变量都驻留在matlab 的工作空间(workspace)中。 M脚本文件 1.脚本文件的创建 新建.m文件 M脚本文件 2、脚本文件的编辑、运行 运行.m文件,也可在command windows窗口中输入文件名执行 (文件扩展名不能输) clear all; clc; a = 3; b = 4 行尾加分号,则这一行的执行结果不会在 command windows中显示,可以加快脚本 的执行速度。 M脚本文件 3、脚本文件中的注释语句 % 以一个%开头的行是注释行,不被解释和执行 % 以两个%开头的注释行构成一个cell a = 3; b = 4; % 下面的语句又构成一个cell 第六章 M文件和函数句柄 M脚本文件 for循环和while循环 M函数文件 总结 if-else-end条件控制 if-else-end条件控制 单分支 双分支 多分支 if expression command end if expression command1 else command2 end if expression command1 elseif expression command2 else commandn end 很常用很常用常用 if-else-end最常用的三种格式 if-else-end条件控制 例1 分支结构 cost=10; number=12; if number100 s = strvcat(s,num2str(a(k), _无效成绩); elseif a(k)=90 s = strvcat(s,num2str(a(k),_优); elseif a(k)=75 s = strvcat(s,num2str(a(k),_良); elseif a(k)=60 s = strvcat(s,num2str(a(k),_中); elseif a(k)=0 s = strvcat(s,num2str(a(k),_差); else s = strvcat(s,num2str(a(k),_无效成绩); end end disp(s) if-else-end条件控制 (1)编写M文件 function y=exm060101(x) n=length(x); for k=1:n if x(k)=1 y(k)=exp(1-x(k); else y(k)=x(k)3; end end (2)运行以下指令 x=-2,-1.2,-0.4,0.8,1,6 y=exm060101(x) x = -2.0000 -1.2000 -0.4000 0.8000 1.0000 6.0000 y = -2.0000 -1.2000 -0.0640 0.5120 1.0000 0.0067 见书本例【6.1-1】 第六章 M文件和函数句柄 M脚本文件 for循环和while循环 M函数文件 总结 if-else-end条件控制 for循环和while循环 for循环根据用户设定的条件,对结构中的命令反复执行 固定次数的操作,一般用于已知循环次数的情形。for循环的一 般格式如下: x 为循环变量,数组 array 的列数决定 for 循环的次 数。每次循环,x 依次取数组 array 的一列 for x = array statement (循环体) end 在 for 后面的表达式中的数组 array 可以是任何合法 的MATLAB数组。 Matlab中i,j是虚数单位,若程序中涉及复数运算,一 定不能使用i,j作为循环变量。 for循环和while循环 例1 for循环示例 for ii=1:10 x(ii)=ii; end x = 1 2 3 4 5 6 7 8 9 10 for循环和while循环 for n=1:10 x(n)=sin(n*pi/10); end x = Columns 1 through 6 0.3090 0.5868 0.8090 0.9511 1.0000 0.9511 0.8090 Columns 8 through 10 0.5868 0.3090 0.0000 例2 for循环示例 for循环和while循环 for n=1:5 for m=5:-1:1 A(n,m)=n2+m2; end end A = 2 5 10 16 26 5 8 13 20 29 10 13 18 25 34 16 20 25 32 41 26 29 34 41 50 例3 for循环示例 问题1: for i=1:10; x(i)=i; end; x = for循环和while循环 1 2 3 4 5 6 7 8 9 10 问题2 for i=1:10 x(i)=(i+1).2; end x= for循环和while循环 4 9 16 25 36 49 64 81 100 121 问题3 m=3; n=4; for i=1:m for j=1:n a(i,j)=1/(i+j-1); end end a = for循环和while循环 1.0000 0.5000 0.3333 0.2500 0.5000 0.3333 0.2500 0.2000 0.3333 0.2500 0.2000 0.1667 for循环和while循环 while expression (条件) statement(循环体) end while 循环一般用于不知道循环次数的情形。while 循 环的一般格式如下: expression的值为逻辑真(非0),则执行循环 体,直到表达式值为假 一般情况下,表达式 expression 都是标量,但 MATLAB 允许它为数组,此时只有数组元素都为真时,循环 体才被执行。如果表达式为空数组,被认为是假 例1:一张纸厚 0.06 mm 且足够大,试问将纸对折多少次,其 厚度将超过10000 m? h = 0.06e-3 n = 0; while h 100 |score=90 grade=A; elseif score=80 else str=Error, the score exceeds range end disp(str); 例2.编写给予任意的圆点坐标(x0,y0)和半径r,绘制出圆的 程序,文件名规定为mycircle。 function mycircle(x0,y0,r0) th=0:0.01*pi:2*pi; z1=x0+r0*cos(th); z2=y0+r0*sin(th); plot(z1,z2) axis square M函数文件 M函数文件 例3.编写函数文件,求半径为r的圆的面积和周长。 函数文件如下: functio
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 净水项目售后合同标准文本
- 农村换工雇工合同标准文本
- pvc管子供应合同标准文本
- 仓库租赁搬家合同样本
- 秋季学期师生关系改善项目计划
- 妇产科产前检查流程完善计划
- 二手房屋转让合同样本
- 2025掌握合同翻译关键英语词汇:轻松看懂英文合同
- 农田建设项目合同样本
- 农村渔塘养殖合同样本
- ESC急慢性心力衰竭诊断和治疗指南
- 周日值班制度
- 2025保安证考试模拟试卷及答案
- 湖南水泥仓施工方案
- 肺栓塞的护理诊断及护理措施
- 老人预防电信诈骗
- 2024年11月-矿山隐蔽致灾因素普查
- 【2025新教材】教科版一年级科学下册全册教案【含反思】
- 《经济学原理》课件
- 第16课《有为有不为 》课件-2024-2025学年统编版语文七年级下册
- 2025年宁波职业技术学院高职单招职业技能测试近5年常考版参考题库含答案解析
评论
0/150
提交评论