




已阅读5页,还剩31页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
信控学院电子教研室mashang21cn 1 第二章MATLAB程序设计基础 matlab的工作方式 交互式 M文件方式 M文件的作用 在commandwindow中输入已编辑保存的M文件名或函数 则自动搜索该文件 找到则按规定的计算任务以解释的方式逐一执行语句 信控学院电子教研室mashang21cn 2 2 1M文件的创建创建M文件 信控学院电子教研室mashang21cn 3 2 2非函数文件 命令文件 一般来说 命令文件用于把很多需要在命令窗口输入的命令放在一起 以便于修改 由于命令文件没有输入和输出参数 只是一些命令行的组合 所以命令文件比函数文件更简单 命令文件可对工作空间中的变量进行操作 也可生成新的变量 即使命令文件运行结束 其运行过程中所产生的变量仍保留在工作空间中 直到关闭matlab或用相关删除命令 例 x 0 pi 100 2 pi y1 cos x y2 sin x plot y1 y2 end 信控学院电子教研室mashang21cn 4 2 3函数文件一 函数文件的格式函数文件一般用于把许多重复的程序段封装起来 使程序更加简洁 例 functiony mymean x 该程序用于计算矢量中元素的平均值 x为输入参数 代表输入的矢量 y为输出参数 代表矢量中元素的平均值 如果输入不是向量 则返回错误信息 m n size x 判断输入是否为矢量if m 1 n 1 m 1 信控学院电子教研室mashang21cn 5 1 函数定义functiony ymean x function y1 y2 FN x1 x2 2 帮助文本3 函数体2 注释二 函数文件参数个数的检查narginnargout确定函数被调用时 输入 输出参数的个数 函数体中可以根据输入参数个数的不同而执行不同的操作 注意 可以用任何编辑器编写m文件当编写函数文件时 其文件名必须与函数名一致 信控学院电子教研室mashang21cn 6 例 functionc testarg a b if nargin 1 c a 2 elseif nargin 2 c a b end 信控学院电子教研室mashang21cn 7 例 用命令文件和函数文件完成相同的任务 求所有小于2000且为2的整数次幂的正整数 A 用命令文件的方式 求小于2000且为2的整数次幂的正整数f 1 2 k 1 whilef k 1000f k 1 f k 2 k k 1 endf k 信控学院电子教研室mashang21cn 8 B 用函数文件的方式实现functionf tt n 求小于任何正整数且为2的整数次幂的正整数 c tt n n可取任意正整数f 1 2 k 1 whilef k n 2f k 1 f k 2 k k 1 endf 信控学院电子教研室mashang21cn 9 2 4 全局变量和局部变量一 什么是全局与局部变量 二 全局变量的定义globalBEGENDExample functions mean1globalk BEG END s sum k 调用如下 globalBEGEND BEG 1 END 10 S1 mean1 信控学院电子教研室mashang21cn 10 例 funcitonall weight add x y addtwovariablewithdifferentweight globalalphabetaall alpha x beta y 在命令窗口内键入 globalalphabetaalpha 1beta 2all weight add 1 1 信控学院电子教研室mashang21cn 11 2 5程序控制流程语句一 循环控制1 for循环调用格式 fort 表达式1 表达式2 表达式3循环体end注意 1 步长可正可负2 内部允许嵌套 for与end必须配对3 在循环体内改变t值不影响循环次数 但对表达式有影响2 若表达式为矩阵则循环列次 信控学院电子教研室mashang21cn 12 例1 forn 1 5例2s 0 form 1 nfori 1 2 99r n m m n s s i endendend例3i 1 3例2forI 1 3例5a 135 268 x I II 2forI aI 2x I Ix I aendendend 信控学院电子教研室mashang21cn 13 while循环语句调用格式while表达式语句体end注意 1 while必须与end成对2 当表达式计算对象为矩阵时 矩阵的所有值均为真时才执行3 循环量在循环体中增减 信控学院电子教研室mashang21cn 14 例1 求级数和s 1 1 2 1 3 1 100s 0n 1 whilen 100s s 1 n n n 1 end例2 找阶乘超过10100的最小数n 2 whileprod 1 n 1 e100n n 1 end 信控学院电子教研室mashang21cn 15 二 条件控制语句1 if条件语句matlab中 if条件语句的功能是 如果满足某个条件则执行一条或一组语句 否则就不执行其内部的语句 或者执行else后面的语句 调用格式如下 ifcondition或 ifcondition1statementstatement1endelseifconditon2或 ifconditionstatement2statement1 elsestatement2endend 信控学院电子教研室mashang21cn 16 注意 1 必须与END配对2 具有优先顺序性3 elseelseif不是必须的2 若表达式为矩阵 则每个元素为真才执行例 ifn 0a 100 elseifn 3a n elsea 0 endend 信控学院电子教研室mashang21cn 17 2 一旦num为其中的某个值或字符串时 就执行所对应的指令 没有对应时 则执行otherwise后的语句 一般switch case语句格式为 switch控制变量 标量或字符串 casen1command1casen2command2 otherwise注意 与END配对commandn并行end 信控学院电子教研室mashang21cn 18 例 Switchinput numcase 1disp Iloveyou case0disp Idon tlikeyou case1disp Ihateyou case2disp mygod otherwisedisp Idon tknowyou end 信控学院电子教研室mashang21cn 19 例 Switchkcase1set gcf color r case2set gcf color w case3set gcf color y otherwiseset gcf color g end 信控学院电子教研室mashang21cn 20 三 转移语句转移语句用来控制程序流向 在必要时中断循环体或函数的执行并进而执行下面的语句 Matlab提供了两种转移语句 break语句和return语句 Break语句 一般出现在循环语句中 它表示跳出循环体 即结束循环 它只能退出包含它的最内层循环 例 eps 1 fornum 1 100eps eps 2 if 1 eps 1eps eps 2break 信控学院电子教研室mashang21cn 21 endendnumreturn语句 用于中断函数的执行 并返回调用它的上级函数 例 functiony test x if x 0 y 0returnendy 1end 信控学院电子教研室mashang21cn 22 2 6子函数函数中再定义函数 函数文件中第一行定义的函数为主函数 调用函数名时 调用主函数 第一行外 其余定义的为子函数 子函数只能被本函数调用 function avg med main function u mainn length u avg mean u n med median u n 信控学院电子教研室mashang21cn 23 functiona aubf1 v n sub1a sum v n functionm subf2 v n sub2w sort v ifrem n 2 1m w n 1 2 elsem w n 2 w n 2 1 2 end 信控学院电子教研室mashang21cn 24 2 7交互式程序设计一 常用命令1 echo 显示命令2 input 执行过程中输入一行信息Example n input pleaseinputn 2 n input string input string s 将字符串string显示出来 等待用户输入一个字符 并将这个字符串作为函数的返回值 也可在调用的同时将返回值赋给一个变量 信控学院电子教研室mashang21cn 25 例 编写ask m文件a input pleaseinputanumber forj 1 ax j j j endxy input pleaseinputastring s y 信控学院电子教研室mashang21cn 26 3 Pause pause是matlab提供的暂停语句 其功能是在程序执行过程中实现暂停 增加程序的交互性 其使用方法如下 pause暂停 并等待用户敲任意键继续pause n 暂停n秒pauseoff这个语句后所有暂停语句无效pauseon这个语句后暂停语句有效 信控学院电子教研室mashang21cn 27 2 keyboard可等待输入多行命令 并将键盘输入作为底稿文件处理 例 functiony user x keyboard调用 userk k x 0 0 01 1 k plot x user x k y x 3 k return 信控学院电子教研室mashang21cn 28 二 生成选择菜单menu函数可生成一个选择式的菜单 使用户能够选择输入 其调用格式为 k menu menuname s1 s2 si 其中k返回调用值 si为字符串 菜单项 最多为 项 例 while1k menu chooseacolor red blue close ifk 1x red elseifk 2x blue elseifk 3breakendend 信控学院电子教研室mashang21cn 29 三 建立按钮式演示菜单Choices函数可以创建一个窗口 由其控制界面及其所对应的功能生成一个演示菜单 调用方法如下 choices name header buttonlabels callbacks 例 header EasyExample labels str2mat Choice1 Choice2 Choice3 callbacks str2mat image magic 1 image magic 2 image magic 3 choices EXAMPLE header labels callbacks 信控学院电子教研室mashang21cn 30 2 8字符串求值一 evalfeval字符串内容为matlab表达式 用eval求表达式值 例 t 1 I j 1 forI 1 nforj 1 na I j eval t endend 信控学院电子教研室mashang21cn 31 feval用于执行字符串代表的文件或函数例 fun sin cos log k input choosefunctionnumber x input entervalue feval fun k x 例 forI 1 10eval p int2str I I 2 end 信控学院电子教研室mashang21cn 32 二 命令函数的重载loadtt dathelpmagictyperank与load tt dat help magic type rank 完全一样 信控学院电子教研室mashang21cn 33 2 9错误和警告信息1 eval与lasterreval 字符1 字符串2 若1运行出错 才运行2lasterr 给出一个包含最后一次错误信息的字符串 例如 functionc catch a b l lasterr j findstr l matrixdimensions if isempty j m n size a p q size b 信控学院电子教研室mashang21cn 34 if n q b n 1 p elseif np a p 1 m
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 救援技师考试题库及答案
- 电工考试的实操电路题及答案
- 国际组织视角下的兽药残留风险分析与管理策略探究
- 全国教师笔试试题及答案
- 2025年自考审计学试题及答案
- 2025年保护环境知识竞赛题库及答案
- 青岛市幼师考编笔试题及答案
- 青岛地铁招聘笔试题库及答案
- 前端面试笔试题及答案
- 2025年岗位模拟主管护师考试试题及答案
- 2024年无锡工艺职业技术学院公开招聘辅导员笔试题含答案
- 高压氧治疗脑卒中
- 2025年三峡银行考试真题及答案
- 2025年度哈尔滨市平房区纪委监委公开招聘雇员2人考试参考题库及答案解析
- 10KV变电送受电安全作业方案
- 2025年江西省高考化学试卷真题(含答案)
- 海上作业安全培训教学课件
- 2025年ARVR行业研究报告及未来行业发展趋势预测
- 【初中数学】单项式与单项式相乘(课件)+华东师大版(2024)数学八年级上册
- 情绪管理课2025年职场压力释放与心灵成长分析报告
- 交管12123驾驶证学法减分考试题库和答案
评论
0/150
提交评论