MATLAB的程序设计基础.ppt_第1页
MATLAB的程序设计基础.ppt_第2页
MATLAB的程序设计基础.ppt_第3页
MATLAB的程序设计基础.ppt_第4页
MATLAB的程序设计基础.ppt_第5页
已阅读5页,还剩56页未读 继续免费阅读

下载本文档

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

文档简介

1 第三章MATLAB的程序设计基础 MATLAB的工作方式有两种 一种是交互式的指令行操作方式 即用户在命令窗口中按MATLAB的语法规则输入命令行并按回车键后 系统将执行该命令并即时给出运算结果 一种是M文件的编程工作方式 用户通过在命令窗口中调用M文件 从而实现一次执行多条MATLAB语句的方式 M文件是由MATLAB语句 命令行 构成的ASCII码文本文件 其文件名必须以 m为扩展名 M文件又分为命令M文件 简称命令文件或脚本文件 和函数M文件 简称函数文件 两大类 2 3 1M文件编辑器 MATLAB为用户提供了专用的M文件编辑器 用来帮助用户完成M文件的创建 保存及编辑等工作 3 4 M文件编辑器窗口会以不同的颜色显示注释 关键词 字符串和一般程序代码 可以方便地打开和保存M文件并进行编辑 编辑功能有大多数编辑器都有的复制 粘贴 剪切等 在M文件编辑器中还可以进行程序的调试 5 6 3 2命令文件 脚本文件或程序文件 命令文件是用户为解决特定的问题而编制的 它包含了一连串的MATLAB指令 执行时依次执行 运行命令文件的效果等价于从MATLAB命令窗口中顺序逐条输入并运行文件里的指令 命令文件一般用clear closeall等语句开始 清除掉工作空间中原有的变量和图形 以避免其他已执行的程序残留数据对本程序的影响 7 8 3 3函数文件 函数文件 必须由其他M文件来调用 函数接受输入的参数 然后执行并输出结果 函数文件必须以关键字 function 开头 函数文件的第一行为函数说明语句 其格式为 function 输出变量列表 函数名 输入变量列表 其中函数名为用户自己定义的函数名 与变量的命名规则相同 9 10 此处注意 s为均值 m为求和 11 函数文件在运行过程中产生的变量都存放在函数本身的工作空间 当文件执行完最后一条命令或遇到 return 命令时 就结束函数文件的运行 同时函数工作空间的变量被清除 用户可通过函数说明语句中的输出变量列表和输入变量列表来实现函数参数的传递 输出变量列表和输入变量列表不是必须的 程序文件可以调用函数文件 调用时 函数文件必须保存在与程序文件相同的路径下 否则不能调用 12 它执行定义a为符号变量 b为矩阵的简单运算 13 3 4全局变量与局部变量 函数文件中所使用的变量 除输入和输出变量以外 所有变量都是局部变量 它们与其他函数变量是相互隔离的 即变量只在函数内部起作用 在该函数返回之后 这些变量会自动在MATLAB的工作空间中清除掉 而命令文件中的变量是全局变量 工作空间的所有命令和函数都可以直接访问这些变量 14 全局变量是由MATLAB提供的global命令来设置 一般在M函数的开头定义 命令形式为 globalabc global 命令应当在工作空间和M函数中都出现 如果只在一方出现 则不被承认为全局变量 另外 在MATLAB中对变量名是区分大小写的 因此 在程序中为了不与普通变量相混淆 习惯上我们将全局变量用大写字母表示 15 16 17 3 5程序流程控制 计算机程序通常都是从前到后逐条执行的 但有时也会根据实际情况 中途改变执行次序 称为流程控制 3 5 1循环结构 在循环结构中 一组被重复执行的语句称为循环体 每循环一次 都必须作出是否继续重复的决定 这个决定所依据的条件称为循环的终止条件 MATLAB提供了两种循环结构 for end循环和while end循环 18 1 for end循环结构 for end循环语句从for开始 用end结束 其基本格式为 for循环变量 表达式循环体end for和end是必需的 不可省略 且必须配对使用 表达式是一个矩阵 用来表示循环的次数 表达式通常的形式为 m s n m是循环初值 n是循环终值 s为步长 s可以缺省 缺省值为1 19 for循环变量 表达式循环体end 循环体被循环执行 执行的次数由表达式控制 循环变量依次取表达式矩阵的各列 每取一次 循环体执行一次 循环不会因为在循环体内对循环变量重新设置值而中断 for end循环结构的执行过程是 从表达式矩阵的第一列开始 依次将表达式矩阵的各列之值赋值给循环变量 然后执行循环体中的语句 直到最后一列 for循环变量 表达式循环体end 21 22 23 以分数的形式显示数据 24 25 定义一个5 5的方阵 其每个元素为该元素的行号和列号之和 注意 在嵌套过程中每一个for都必须与end相匹配 否则程序将出错 26 2 while end循环结构 for end循环的循环次数是确定的 而while end循环的循环次数不确定 它是在逻辑条件控制下重复不确定次 直到循环条件不成立为止 因此 for end循环为计数循环 while end循环为条件循环 其基本格式为 while表达式循环体end 27 while表达式循环体end while和end是必需的 不可省略 而且必须配对使用 只要表达式为逻辑真 就执行循环体 一旦表达式为假 就结束循环 表达式可以是向量也可以是矩阵 如果表达式为矩阵 则当所有的元素都为真才执行循环体 如果表达式为NaN MATLAB认为是假 不执行循环体 while end循环结构的执行过程是 首先判断表达式是否成立 若成立则运行循环体中的语句 否则停止循环 通常是通过在循环体中对表达式进行改变来控制循环是否结束 while表达式循环体end 29 求自然数1 10之和 30 31 3 5 2条件转移结构 1 if else end结构 if表达式1语句体1elseif表达式2语句体2 else语句体nend 32 if表达式1语句体1elseif表达式2语句体2 else语句体nend 在执行for end循环和while end循环语句时 可以利用 if break 语句中止循环运算 当有多个条件时 若条件式1为假 则再判断elseif的条件式2 如果所有条件式都不满足 则执行else的语句体n 然后跳出if else end结构 当条件式为真则执行相应的语句体 否则跳过该语句体 if else end结构也可以是没有elseif和else的简单结构 但if和end是不可省略且必须配对使用 33 编制M函数文件 实现不等长多项式的加法运算 34 35 36 37 38 2 switch case结构 switch表达式case值1语句体1case值2语句体2 otherwise语句体nend 39 switch表达式case值1语句体1case值2语句体2 otherwise语句体nend switch和end必须配对使用 表达式的值和哪种情况 case 的值相同 就执行哪种情况中的语句体 然后跳出该分支结构 如果都不同 则执行otherwise中的语句体 格式中也可以不包括otherwise 这时如果表达式的值与列出的各种情况都不相同 则跳出该分支结构 继续向下执行 40 实现把y向量每个元素调整为被3整除后的余数后 保存到g向量中 41 注意case语句中可选多个取值的情况 多个取值用 表示 括号内的数据用逗号分隔 42 3 5 3流程控制命令 P56表3 1流程控制命令 43 P56表3 1流程控制命令 44 45 46 3 5 4程序举例 1 编制M文件实现分段函数 1 用函数文件来实现 47 1 编制M文件实现分段函数 2 用程序文件来实现 48 2 编制程序 判断输入数据的奇偶性 1 只考虑输入数字的情况 49 2 编制程序 判断输入数据的奇偶性 2 考虑输入是空格或直接按回车键的情况 50 3 编制程序 寻找输入数组中的最大数 51 4 求任意度数的三角函数值 并将正弦 余弦 正切及余切同时按表格形式显示出来 52 53 函数的递归调用 调用函数的过程中出现直接或间接地调用该函数本身的现象称为函数的递归调用 在递归调用的函数中一般要有条件递归调用的语句 否则函数会一直循环下去 例 求一个正整数的阶乘 54 functiony fun n computen ifn 0error nshouldbepositiveintegralor displaytheerrorinformationreturn endifn 0 n 1y 1 elsey n fun n 1 end 55 例3 1电阻电路的计算 1 如us 10v 求i3 u4 u7 2 如u4 6v 求us i3 u7 56 clear formatcompactR1 2 R2 4 R3 12 R4 4 R5 12 R6 4 R7 2 为给定元件赋值 解问题 1 display 解问题 1 a11 R1 R2 R3 a12 R3 a13 0 将系数矩阵各元素赋值a21 R3 a22 R3 R4 R5 a23 R5 a31 0 a32 R5 a33 R5 R6 R7 b1 1 b2 0 b3 0 us input us 输入解 1 的已知条件A a11 a12 a13 a21 a22 a23 a31 a32 a33 列出系数矩阵AB b1 0 0 I A B us I ia ib ic ia I 1 ib I 2 ic I 3 i3 ia ib u4 R4 ib u7 R7 ic 解出所需变量 57 利用电路的线性性质及问题 1 的解display 解问题 2 u42 input 给定u42 k1 i3 us k2 u4 us k3 u7 us 由问题 1 得出待求量与us的比例系数us2 u42 k2 i32 k1 k2 u42 u72 k3 k2 u42 按比例方法求出所

温馨提示

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

最新文档

评论

0/150

提交评论