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

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

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
3.1 概 述 3.1.1 MATLAB程序设计方法 MATLAB程序可以分为两类:交互式和M文件的编程。 对于一些简单问题的程序,用户可以直接在MATLAB的命令窗口中输入命令,用交互式的方式来编写。这种方式适用于命令比较简单,输入比较方便,同时处理问题的步骤较少的情况。   但是,对于较复杂的问题,由于处理所需的命令较多,即需要逻辑运算、需要一个或多个变量重复验证、需要进行流程控制等,那么此时采用直接输入命令的方法则会引起不便。为此,MATLAB提供了一个合理的解决方法,就是事先将一系列MATLAB命令输入到一个文本文件中加以保存,只要执行该文件,则文件中所有MATLAB命令都被执行,其结果与直接在MATLAB的命令窗口中输入命令执行的结果一样。由于该文本文件以“.M”为扩展名,因此被称为M文件。当需要处理重复、复杂且容易出错的问题时,可以建立一个M文件,进行合理的程序设计,这就是M文件的编程工作方式。 3.1.2 MATLAB 程序结构      MATLAB作为一种常用的编程语言,支持各种决策或流程控制结构。流程控制极其重要,因为它用过去、现在的计算影响将来的结果。MATLAB程序结构分为顺序结构、分支结构和循环结构,具体如图3-1所示。   由于这些结构经常包含大量的MATLAB命令,故经常出现在M文件中,而不是直接加在MATLAB提示符下。   1.顺序结构   顺序程序结构是一种最简单的程序结构,将MATLAB语句按先后次序排列即可。系统在编译程序时,按照程序的物理位置顺序执行。这种程序容易编制,但是结构单一,能够实现的功能有限。例如:   a=1;b=2;c=3;   s1=a+b;   s2=s1+c;   s3=s2/s2;   2.分支结构   程序在运行过程中要根据不同的情况或条件作出判断,并依据判断的结果转向相应的处理程序,这种程序结构称为分支结构。   分支是通过条件转移指令实现的,进行分支结构程序设计之前,应首先确定要判断的是什么条件,以及当判断结果为不同的情况(“真”或“假”)时应该执行什么样的操作。MATLAB提供条件转移的if…end分支程序结构。   有的分支结构为多分支,可依次测试各个条件是否满足。若满足条件则转入相应分支入口,若不满足则继续向下测试,直到全部测试完。分支选择程序结构简单、直观,但执行速度慢。MATLAB提供条件转移的switch开关分支程序结构。   分支结构程序设计需要使用关系运算、逻辑运算、条件运算等。   3.循环结构程序设计   在日常的实际生活中,会经常用到“循环结构”,例如数据的累加计算等,但又与顺序结构和选择结构不同,无论是顺序还是选择分支语句,它们中的每一条语句一般只执行一次。而循环结构中,有时常要重复某几条语句,所以循环结构就是用于完成一些重复的操作,但它并不是单纯的重复执行,每次执行时,语句的参数一般都是不同的。   按循环控制方式分类可分为手动循环和自动循环。手动循环在程序运行时通过反复操作控件实现某事件过程的反复执行,自动循环是由程序中的语句控制的,是程序执行时根据循环的条件自动实现的循环。自动循环又可分为有条件循环(当循环条件满足或不满足时才执行的循环)和无条件循环(无条件地执行循环)。 3.2 循 环 程 序      3.2.1 for循环   1.for循环的一般形式   for循环允许一组命令以固定的和预定的次数重复。For循环的一般形式:   for variable = values    commands    …   end   commands是循环体语句组,这里的循环语句是以end结尾的,这与C语言的结构不完全一致。values可以是如表3-1所示的格式之一。   (1)??initval:step:endval形式。索引变量以增量形式循环,从初始值initval到结束值endval,增量步长为step,并重复循环。如果step为负数,则以减量方式循环,该形式的初始值initval 大于结束值endval。   for s=s1:s2:s3   ??? commands   ...    end   注意:s是一个合法的字符串代表循环变量。s1、s2、s3可以是标量数字s1是起始值;s2是步长,如果步长s2的值为1,则可以省略;s3是终了值。   例3-2-1 求出 的值。   解 该例可以作下列的循环:    x=0;   for i=1:1:100   x=x+i;   end;    x   结果为x = 5050   (2) ?initval:endval形式。索引变量以增量形式循环,从

文档评论(0)

autohhh + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档