Matlab教程Ch3.ppt_第1页
Matlab教程Ch3.ppt_第2页
Matlab教程Ch3.ppt_第3页
Matlab教程Ch3.ppt_第4页
Matlab教程Ch3.ppt_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、1,第3章 MATLAB程序设计,2,本章目标,掌握MATLAB的几种基本控制转移语句 学会使用M文件进行编程 具备对复杂问题的编程求解能力,3,主要内容,3.1 程序设计概述 3.2 MATLAB程序结构 3.3 M文件,4,3.1 程序设计概述,MATLAB是第四代编程语言 程序简洁 可读性很强 调试容易 编程效率高 易移植和维护 通过编程可求解复杂性更高或特殊的问题,5,3.2 MATLAB程序结构,按照程序设计的观点, 任何算法功能都可以通过由程序模块组成的三种基本程序结构的组合来实现: 顺序结构:程序按程序语句或模块在执行流中的顺序逐个执行。 选择结构:程序按设定的条件实现程序执行流

2、的多路分支。 循环结构:程序按给定的条件重复地执行指定的程序段或模块。,6,3.2.1顺序结构,程序模块1,程序模块2,MATLAB中实现顺序结构的方法非常简单: 只需将程序语句顺序排列即可,7,3.2.2 选择结构,在MATLAB中,选择结构由两种语句结构实现: if语句 switch语句,条件,程序模块1,成立,不成立,程序模块2,3.2.2 选择结构,8,if语句,if表达式 程序模块1 else 程序模块2 end,9,if语句的两种变形,(1) 单分支if语句:只有一个分支的选择结构 if表达式 程序模块 end (2) 多分支if语句:超过2个的选择 if表达式1 程序模块1 el

3、seif 表达式2 程序模块2 elseif 表达式n 程序模块n else 程序模块n+1 end,10,例:将百分制的学生成绩转换为五级制的成绩输出,clear n=input(输入n= ); if n=90 r=A elseif n=80 r=B elseif n=70 r=C elseif n=60 r=D else r=E end,运行结果: 输入n= 87 r = B,11,2.switch语句,switch 表达式 case 数值1 程序模块1; case 数值2 程序模块2; otherwise 程序模块n end,12,例:将百分制的学生成绩转换为五级制的成绩输出使用swit

4、ch语句,clear n=input(输入n= ); switch fix(n/10) case 10,9 r=A case 8 r=B case 7 r=C case 6 r=D otherwise r=E end,运行结果: 输入n= 65 r = D,13,3.2.3 循环结构,在MATLAB中,循环结构可以由两种语句结构实现: for语句循环结构 while语句循环结构,程序模块,不成立,成立,条件,3.2.2 选择结构,14,1for语句循环结构,for循环变量起始值:步长:终止值 循环体 end,15,例:使用for结构计算1+2+3+100,clear sum=0; for i=

5、1:100 sum=sum+i; end sum,运行结果: sum = 5050,16,2while语句循环结构,while表达式 循环体 end,17,例:使用while结构计算1+2+3+100,clear sum=0; i=0; while i100 i=i+1; sum=sum+i; end sum,运行结果: sum = 5050,18,3.3 M文件,MATLAB工作模式 命令行方式。 程序文件驱动模式 MATLAB文本编辑器,19,3.3.1命令文件,又称为脚本文件,是一串指令的集合。 用户只需键入该命令文件的文件名,系统就会自动逐行执行该文件中的各条语句。 适用于小规模运算。

6、,20,3.3.2函数文件,函数文件基本格式: function 输出形参列表=函数名(输入形参列表) 注释说明语句段 程序语句段,21,扩展阅读,3.4其他流程控制语句 1. break语句 2. continue语句 3. return语句 4. try语句 5. echo命令 6. input命令 7. keyboard命令 8. pause命令 3.5函数与变量参数传递 3.5.1子函数与私有函数 3.5.2变量作用域 3.5.3函数的参数传递,22,上机指导,3.6 M文件的调试 3.7 M文件性能分析与优化 3.7.1 M文件性能分析 3.7.2 M文件性能优化,23,应用举例,求1!+2!+3!+ +5!的值 clear sum=0; for i=1:5 pdr=1; for k=1:i pdr=pdr*k; end sum=sum+pdr; end sum,运行结果: sum = 153,24,应用举例,鸡兔同笼问题:鸡和兔子关在一个笼子里,已知共有头36个,脚100个,求笼内关了多少只兔子和多少只鸡? clear chicken=1; while 1 if rem(100-chicken*2, 4)=0 end chicken rabb

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论