第3章 MATLAB程序设计基础.ppt

上传人:豆**** 文档编号:57948526 上传时间:2022-11-06 格式:PPT 页数:28 大小:1.65MB
返回 下载 相关 举报
第3章 MATLAB程序设计基础.ppt_第1页
第1页 / 共28页
第3章 MATLAB程序设计基础.ppt_第2页
第2页 / 共28页
点击查看更多>>
资源描述

《第3章 MATLAB程序设计基础.ppt》由会员分享,可在线阅读,更多相关《第3章 MATLAB程序设计基础.ppt(28页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、第第3章章 MATLAB程序设程序设计基础计基础第第3 3章章MATLABMATLAB程序设计基础程序设计基础3.1 For3.1 For循环循环3.2 While 3.2 While 循环循环3.3 If-else-End 3.3 If-else-End 结构结构3.4 switch 3.4 switch 分支结构分支结构3.5 try-catch3.5 try-catch结构结构3.6 input3.6 input命令命令3.7 continue3.7 continue命令命令3.8 break3.8 break命令命令3.10 3.10 综综 合合 实实 例例3.9 3.9 函数的基本结

2、构函数的基本结构3.11 3.11 小小 结结 作为一种程序语言,作为一种程序语言,MATLABMATLAB提供了循环、提供了循环、条件、开关、试探、输入和中断等语句结构。条件、开关、试探、输入和中断等语句结构。因为因为MATLABMATLAB语句会广泛应用于语句会广泛应用于M M文件和文件和s s函函数中,所以读者的数中,所以读者的MATLABMATLAB的编程能力是至关重的编程能力是至关重要的。要的。本章具体介绍本章具体介绍MATLABMATLAB的流程控制结构,并的流程控制结构,并举出几个实际应用的例子供读者参考。举出几个实际应用的例子供读者参考。3.1 For循环 For For循环允

3、许一组命令以固定的和预定的循环允许一组命令以固定的和预定的次数重复。次数重复。ForFor循环的一般形式是:循环的一般形式是:for x=arrayfor x=array commands commands end end 在在forfor和和endend语句之间的语句之间的commandscommands按数按数组中的每一列执行一次。组中的每一列执行一次。在每一次迭代中,在每一次迭代中,x x被指定为数组的下一被指定为数组的下一列,即在第列,即在第n n次循环中,次循环中,x=array(:,n)x=array(:,n)。ForFor循环的其他重要方面是:循环的其他重要方面是:(1 1)Fo

4、rFor循环不能用循环不能用ForFor循环内重新赋值循环内重新赋值循环变量循环变量n n来终止。来终止。(2 2)语句语句110110是一个标准的是一个标准的MATLABMATLAB数数组创建语句。在组创建语句。在ForFor循环内接受任何有效的循环内接受任何有效的MATLABMATLAB数组。数组。(3 3)ForFor循环可按需要嵌套。循环可按需要嵌套。【例【例-1-1】用】用MATLABMATLAB程序建立九九乘法程序建立九九乘法表。表。(4 4)当用一个等效的数组方法来解给定)当用一个等效的数组方法来解给定的问题时,应避免用的问题时,应避免用ForFor循环。循环。(5 5)为了得到

5、最大的计算速度,在)为了得到最大的计算速度,在ForFor循循环(环(WhileWhile循环)被执行之前,应预先分配数循环)被执行之前,应预先分配数组。组。3.2 While 循环 与与ForFor循环以固定次数求一组命令的值相循环以固定次数求一组命令的值相反,反,While While 循环是以不定的次数求一组语句的循环是以不定的次数求一组语句的值。值。While While循环的一般形式是:循环的一般形式是:while expressionwhile expression commands commandsendend 只要表达式里的所有元素为真,就执行只要表达式里的所有元素为真,就执行

6、whilewhile和和end end 语句之间的语句之间的commandscommands。通常,表达式的求值给出一个标量值,但通常,表达式的求值给出一个标量值,但数组值也同样有效。数组值也同样有效。在数组情况下,所得到数组的所有元素必在数组情况下,所得到数组的所有元素必须都为真。须都为真。3.3 If-else-End 结构 很多情况下,命令的序列必须根据关系的很多情况下,命令的序列必须根据关系的检验有条件地执行。检验有条件地执行。在在MATLABMATLAB中,这种逻辑由中,这种逻辑由If-Else-EndIf-Else-End结结构来提供。构来提供。最简单的最简单的If-Else-En

7、dIf-Else-End结构是:结构是:if expressionif expression commands commandsendend 如果表达式如果表达式expressionexpression的所有元素为真的所有元素为真(非零),那么就执行(非零),那么就执行ifif和和endend语言之间的语言之间的commandscommands。在表达式包含有几个逻辑子表达式时,即在表达式包含有几个逻辑子表达式时,即使前一个子表达式决定了表达式的最后逻辑状使前一个子表达式决定了表达式的最后逻辑状态,仍要计算所有的子表达式。态,仍要计算所有的子表达式。假如有两个选择条件,假如有两个选择条件,If

8、-Else-EndIf-Else-End结构是:结构是:if expression if expression commands evaluated if True commands evaluated if True elseelse commands evaluated if False commands evaluated if Falseendend3.4 switch 分支结构 switch switch语句可以替代多分支的语句可以替代多分支的ifif语句,且语句,且switchswitch语句简洁明了,可读性更好,其格式为:语句简洁明了,可读性更好,其格式为:switch swit

9、ch 计算表达式计算表达式 case case 数值数值1 1 模块模块1 1case case 数值数值2 2 模块模块2 2 otherwiseotherwise 模块模块n n其中,其中,otherwiseotherwise模块可以省略。模块可以省略。switch switch语句的执行过程是:首先计算表达语句的执行过程是:首先计算表达式的值,然后将其结果与每一个式的值,然后将其结果与每一个casecase后面的数后面的数值依次进行比较。值依次进行比较。如果相等,则执行该如果相等,则执行该casecase的程序模块;如的程序模块;如果都不相等,则执行果都不相等,则执行otherwiseo

10、therwise模块中的语句,模块中的语句,如图如图3-13-1所示。所示。【例【例3-23-2】用】用switchcaseswitchcase开关结构将开关结构将百分制的学生成绩转换为五分制的成绩输出。百分制的学生成绩转换为五分制的成绩输出。程序如下:程序如下:图图图图1-1 MATLAB 7.51-1 MATLAB 7.5安装启安装启安装启安装启动动动动界面界面界面界面3.5 try-catch结构 try-catch try-catch结构主要用来对异常情况进行结构主要用来对异常情况进行处理,其相应语法结构如下:处理,其相应语法结构如下:trytry statement statemen

11、tcatchcatchstatementstatementendend3.6 input命令 input input命令的功能是将命令的功能是将MATLABMATLAB的控制权暂的控制权暂时交给用户,然后,用户通过键盘输入数值、时交给用户,然后,用户通过键盘输入数值、字符串或者表达式,通过字符串或者表达式,通过“Enter”“Enter”键将输入键将输入的内容输入到工作空间中,同时将控制权交还的内容输入到工作空间中,同时将控制权交还MATLABMATLAB,其格式如下:,其格式如下:X Xinput(prompt)input(prompt)%将用户键入的将用户键入的内容赋给变量内容赋给变量X

12、X。X Xinput(prompt,s)input(prompt,s)%将用户键入的将用户键入的内容作为字符串赋给变量内容作为字符串赋给变量X X。【例【例3-33-3】inputinput命令示例。命令示例。3.7 continue命令 continue continue命令用于控制循环,当程序流运命令用于控制循环,当程序流运行至该命令时会忽略其后的循环体操作转而执行至该命令时会忽略其后的循环体操作转而执行下一层次的循环。行下一层次的循环。【例【例3-43-4】continuecontinue命令示例。命令示例。3.8 break命令 break break命令的功能是终止本次循环,跳出命令

13、的功能是终止本次循环,跳出最内层循环。通常命令会和最内层循环。通常命令会和ifif语句结合来终止语句结合来终止循环。循环。【例【例3-53-5】求连续自然数的和,当和大】求连续自然数的和,当和大于等于于等于10001000时,求最后一个自然数以及自然数时,求最后一个自然数以及自然数的和。的和。3.9 函数的基本结构 MATLAB MATLAB的的M M文件有两类:脚本文件和函数文件有两类:脚本文件和函数文件。文件。(1 1)脚本文件)脚本文件将原本要在将原本要在MATLABMATLAB的的指令窗口中直接输入的语句,放在一个以指令窗口中直接输入的语句,放在一个以.m.m为为后缀的文件中,这一文件

14、就称为脚本文件。后缀的文件中,这一文件就称为脚本文件。有了脚本文件,用户可直接在有了脚本文件,用户可直接在MATLABMATLAB中输中输入脚本文件名入脚本文件名(不含后缀不含后缀),这时,这时MATLABMATLAB会打开会打开这一脚本文件,并依次执行脚本文件中的每一这一脚本文件,并依次执行脚本文件中的每一条语句,这与在条语句,这与在MATLABMATLAB中直接输入语句的结果中直接输入语句的结果完全一致。完全一致。(2 2)函数文件)函数文件它的第一行必须是函数它的第一行必须是函数定义行。脚本文件和函数文件的各方面的比较定义行。脚本文件和函数文件的各方面的比较如表如表3-13-1所示。所示

15、。表表表表3-13-1脚本文件和函数文件比脚本文件和函数文件比脚本文件和函数文件比脚本文件和函数文件比较较较较脚 本 文 件函 数 文 件定义行无需定义行必须有定义行 输入/输出变量无有数据传送直接访问基本工作空间中的所有变量通过输入变量获得输入数据;通过输出变量提交结果编程方法直接选取MATLAB中执行的语句精心设计完成指定功能用途重复操作MATLAB功能扩展 MATLAB MATLAB的的M M函数是由函数是由functionfunction语句引导的,语句引导的,其基本结构如下:其基本结构如下:functionfunction返回变量列表返回变量列表=函数名(输入变量列表)函数名(输入变

16、量列表)【例【例3-63-6】求出满足】求出满足 的最小的最小m m值。值。【例【例3-73-7】MATLABMATLAB函数是可以递归调用的,函数是可以递归调用的,即在函数的内部调用函数自身,试用递归方式即在函数的内部调用函数自身,试用递归方式编写编写n n!函数。函数。3.10.1 随机序列产生程序随机序列产生程序3.10.2 倒立摆系统的模型建立倒立摆系统的模型建立3.10 综 合 实 例 在产生伪随机数的数学方法中,乘同余在产生伪随机数的数学方法中,乘同余法的统计性质较好、产生随机数方便快捷、法的统计性质较好、产生随机数方便快捷、使用较广。使用较广。其递推公式为其递推公式为X Xi i

17、+1+1=AX=AXi+1i+1(mod mod M M),即下),即下一个随机数是上一个随机数乘以一个随机数是上一个随机数乘以A A对对M M取余而取余而得到的,因此称为乘同余法。得到的,因此称为乘同余法。【例【例3-83-8】用乘同余法产生随机数序列】用乘同余法产生随机数序列 3.10.1 随机序列产生程序随机序列产生程序 倒倒立立摆摆控控制制系系统统是是一一个个复复杂杂的的、不不稳稳定定的的、非非线线性性系系统统,是是进进行行控控制制理理论论教教学学及及开开展各种控制实验的理想实验平台。展各种控制实验的理想实验平台。对对倒倒立立摆摆系系统统的的研研究究能能有有效效地地反反映映许许多多控控

18、制制中中的的典典型型问问题题:如如非非线线性性问问题题、鲁鲁棒棒性性问题、镇定问题、随动问题以及跟踪问题等。问题、镇定问题、随动问题以及跟踪问题等。通通过过对对倒倒立立摆摆的的控控制制,用用户户可可以以检检验验新新的的控控制制方方法法是是否否有有较较强强的的处处理理非非线线性性和和不不稳稳定性问题的能力。定性问题的能力。3.10.2 倒立摆系统的模型建立倒立摆系统的模型建立 同同时时,它它的的控控制制方方法法在在军军工工、航航天天、机机器器人人和和一一般般工工业业过过程程领领域域中中都都有有着着广广泛泛的的用用途途,如如机机器器人人行行走走过过程程中中的的平平衡衡控控制制、火火箭箭发发射射中中的的垂垂直直度度控控制制和和卫卫星星飞飞行行中中的的姿姿态态控控制等。制等。本章介绍了循环、条件、开关、试探、输本章介绍了循环、条件、开关、试探、输入和中断等入和中断等MATLABMATLAB语言控制结构,并举出几个语言控制结构,并举出几个实际应用的例子供读者参考。实际应用的例子供读者参考。通过学习本章,读者能更加得心应手的编通过学习本章,读者能更加得心应手的编写写M M文件、文件、s s函数等。函数等。3.11 小 结图图图图3-3 3-3 小小小小车车车车位移曲位移曲位移曲位移曲线图线图线图线图图图图图3-4 3-4 摆摆摆摆杆杆杆杆摆摆摆摆角曲角曲角曲角曲线图线图线图线图

展开阅读全文
相关资源
相关搜索

当前位置:首页 > pptx模板 > 企业培训

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com