




已阅读5页,还剩33页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1 第3章MATLAB程序设计 2 本章目标 掌握MATLAB的几种基本控制转移语句学会使用M文件进行编程具备对复杂问题的编程求解能力 主要内容 3 1程序设计概述3 2M文件3 3MATLAB程序结构3 4程序调试 4 3 1程序设计概述 MATLAB是第四代编程语言程序简洁可读性很强调试容易编程效率高易移植和维护通过编程可求解复杂性更高或特殊的问题 5 3 2 1m文件概述用matlab语言编写的程序 称为m文件 根据调用方式的不同分为两类 命令文件 ScriptFile 函数文件 FunctionFile 3 2m文件 6 命令文件 又称为脚本文件 是一串指令的集合 用户只需键入该命令文件的文件名 系统就会自动逐行执行该文件中的各条语句 适用于小规模运算 7 2 函数文件函数文件由function引导 基本结构 function输出形参表 函数名 输入形参表 注释说明部分函数体语句注意 以function开头的一行为引导行 表示该m文件是一个函数文件 函数名的命名规则与变量名相同 输入形参为函数的输入参数 输出形参为函数的输出参数 当输出形参多于一个时 则应该用方括号括起来 8 例 编写函数文件求半径为r的圆的面积和周长 function s p fcircle r FCIRCLEcalculatetheareaandperimeterofacircleofradiir r圆半径 s圆面积 p圆周长 2008年5月8日s pi r r p 2 pi r 9 例 分别建立命令文件和函数文件 将华氏温度f转换为摄氏温度c 程序1 首先建立命令文件并以文件名f c m存盘 clear f input InputFahrenheittemperature c 5 f 32 9然后 在matlab命令窗口中输入f c 将会执行该命令文件 执行情况为 InputFahrenheittemperature 73c 22 7778 10 程序2 首先 建立函数文件f2c m functionc f2c f c 5 f 32 9然后 在matlab的命令窗口调用该函数文件 clear y input InputFahrenheittemperature x f2c y InputFahrenheittemperature 70c 21 1111x 21 1111 11 函数文件和命令文件的区别 函数文件可以传递参数 而命令文件不具备这种功能 命令文件中的变量都是全局变量 文件执行完后 还是有效变量 仍然保存在工作区间中 而函数文件中的变量都是局部变量 只在本函数文件中才有效 当函数文件执行完成后 这些变量将被清除 12 函数调用函数调用的一般格式是 输出实参表 函数名 输入实参表 要注意的是 函数调用时各实参出现的顺序 个数 应与函数定义时形参的顺序 个数一致 否则会出错 函数调用时 先将实参传递给相应的形参 从而实现参数传递 然后再执行函数的功能 13 例 利用函数文件 实现直角坐标 x y 与极坐标 之间的转换 函数文件tran m function rho theta tran x y rho sqrt x x y y theta atan y x 调用tran m的命令文件main1 m x input Pleaseinputx y input Pleaseinputy rho theta tran x y rhotheta 14 3 2 2m文件的建立与打开m文件是一个文本文件 它可以用任何编辑程序来建立和编辑 而一般常用且最为方便的是使用MATLAB提供的文本编辑器 1 建立新的m文件为建立新的m文件 启动MATLAB文本编辑器有3种方法 15 1 菜单操作 从MATLAB主窗口的File菜单中选择New菜单项 再选择M file命令 屏幕上将出现MATLAB文本编辑器窗口 2 命令操作 在MATLAB命令窗口输入命令edit 启动MATLAB文本编辑器后 输入m文件的内容并存盘 3 命令按钮操作 单击MATLAB主窗口工具栏上的NewM File命令按钮 启动MATLAB文本编辑器后 输入m文件的内容并存盘 16 2 打开已有的m文件打开已有的m文件 也有3种方法 1 菜单操作 从MATLAB主窗口的File菜单中选择Open命令 则屏幕出现Open对话框 在Open对话框中选中所需打开的m文件 在文档窗口可以对打开的m文件进行编辑修改 编辑完成后 将m文件存盘 2 命令操作 在MATLAB命令窗口输入命令 edit文件名 则打开指定的m文件 3 命令按钮操作 单击MATLAB主窗口工具栏上的OpenFile命令按钮 再从弹出的对话框中选择所需打开的m文件 17 3 3MATLAB程序结构 三种基本程序结构 顺序结构 程序按程序语句或模块在执行流中的顺序逐个执行 选择结构 程序按设定的条件实现程序执行流的多路分支 循环结构 程序按给定的条件重复地执行指定的程序段或模块 18 3 3 1顺序结构 程序模块1 程序模块2 MATLAB中实现顺序结构的方法非常简单 只需将程序语句顺序排列即可 19 3 3 2选择结构 在MATLAB中 选择结构由两种语句结构实现 if语句switch语句 条件 程序模块1 成立 不成立 程序模块2 20 一if语句 if表达式程序模块1else程序模块2end 21 if语句的两种变形 单分支if语句 只有一个分支的选择结构if表达式程序模块end多分支if语句 超过2个的选择if表达式1程序模块1elseif表达式2程序模块2 elseif表达式n程序模块nelse程序模块n 1end 22 例 将百分制的学生成绩转换为五级制的成绩输出 clearn input 输入n ifn 90r A elseifn 80r B elseifn 70r C elseifn 60r D elser E end 运行结果 输入n 87r B 23 二switch语句 switch表达式case数值1程序模块1 case数值2程序模块2 otherwise程序模块n end 24 例 将百分制的学生成绩转换为五级制的成绩输出 使用switch语句 clearn input 输入n switchfix n 10 case 10 9 r A case8r B case7r C case6r D otherwiser E end 运行结果 输入n 65r D 25 3 3 3循环结构 在MATLAB中 循环结构可以由两种语句结构实现 for语句循环结构while语句循环结构 程序模块 不成立 成立 条件 26 for语句循环结构 for循环变量 起始值 步长 终止值循环体end 例 使用for结构计算1 2 3 100 clearsum 0 fori 1 100sum sum i endsum 运行结果 sum 5050 27 while语句循环结构 while表达式循环体end 例 使用while结构计算1 2 3 100 clearsum 0 i 0 whilei 100i i 1 sum sum i endsum 运行结果 sum 5050 28 3 3 4其它流程控制语句 BreakContinueReturnTryEchoInputKeyboardPause 29 3 3M文件 MATLAB工作模式命令行方式 程序文件驱动模式MATLAB文本编辑器 30 3 3 1命令文件 又称为脚本文件 是一串指令的集合 用户只需键入该命令文件的文件名 系统就会自动逐行执行该文件中的各条语句 适用于小规模运算 31 3 3 2函数文件 格式 function 输出形参列表 函数名 输入形参列表 注释说明语句段程序语句段 32 函数与变量参数传递子函数与私有函数变量作用域函数的参数传递 33 3 6M文件的调试 34 3 7M文件性能分析与优化 3 7 1M文件性能分析3 7 2M文件性能优化 35 应用举例 求1 2 3 5 的值clearsum 0 fori 1 5pdr 1 fork 1 ipdr pdr k endsum sum pdr endsum 运行结果 sum 153 36 应用举例 鸡兔同笼问题 鸡和兔子关在一个笼子里 已
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论