MATLAB编程入门

上传人:豆浆 文档编号:47156882 上传时间:2018-06-30 格式:PPT 页数:64 大小:1,005.50KB
返回 下载 相关 举报
MATLAB编程入门_第1页
第1页 / 共64页
MATLAB编程入门_第2页
第2页 / 共64页
MATLAB编程入门_第3页
第3页 / 共64页
MATLAB编程入门_第4页
第4页 / 共64页
MATLAB编程入门_第5页
第5页 / 共64页
点击查看更多>>
资源描述

《MATLAB编程入门》由会员分享,可在线阅读,更多相关《MATLAB编程入门(64页珍藏版)》请在金锄头文库上搜索。

1、第二章 MATLAB程序设计(1)MATLAB的输入与输出语句v输入语句 输入数值、行向量、列向量、矩阵 x=input(please input a number:) please input a number:22 x = 22 输入字符串 x=input(please input a string:) please input a string:this is a string x = this is a stringMATLAB的输入与输出语句v输出语句 自由格式(disp) disp(23+454-29*4) 361 disp(11 22 33; 44 55 66; 77 88 99

2、) 11 22 33 44 55 66 77 88 99 disp(this is a string) this is a stringMATLAB的输入与输出语句 格式化输出 (fprintf) fprintf(The area is %8.5fn, area) %注意输出格 式前须有%符号, The area is 12.56637 % 输出值为8位数含5位小 数 错误消息显示命令 error(this is an error) this is an errorMATLAB中的控制结构 v循环结构 循环结构允许重复执行一系列语句,需 要被重复执行的语句称为循环体。循环结构的 执行方式为首先

3、判断是否达到循环终止条件, 如果没有,则继续执行循环体,如果已经达到 则跳出循环。 for循环 while循环MATLAB中的控制结构 v选择结构 if结构 switch结构 try/catch结构v其他流程控制 break语句 continue语句 return语句for循环vfor循环的语法 for index=expressionloopbody end index是循环变量,expression是循环控制表 达式,在for和end之前的执行语句为循环体 loopbodyfor循环 vfor循环的执行顺序 变量index读取表达式expression,其在一般情况下 是一个向量,用冒号表

4、达式表示为 start:increment:end,若采用默认的步长1,则表示 为start:end;在这种情况下,循环变量index每次从 向量expression中读取一个元素,然后程序执行循 环体(loopbody),直至向量expression中所有元素 读取完毕 一般而言,向量expression中有多少元素,循环体 就执行多少次 特别的,如果expression是一个矩阵,则index每次 读取矩阵的一列,直至所有列读取完毕,亦即循环 次数为矩阵的列数for循环v利用for循环求阶乘6!下面的循环控制表达式将会产生行向量6 5 4 3 2 1 ,循环变量i依次读取这些数值实现阶乘运

5、算。 N=6; S=1; for i=N:-1:1S=S*i;end SS =720 for循环v循环的嵌套for循环可以嵌套使用,如果一个循环完全出现 在另一个循环当中,我们称这两个循环为带嵌套的循 环。下面的例子用两重for循环嵌套来计算九九乘法表 并打印结果 for i=1:9for j=1:ifprintf(%d*%d=%d ,i,j,i*j);endfprintf(n);endwhile循环 vwhile循环的语法 while为条件循环语句。while循环的循环终止条件 通常是对循环条件表达式的判断,只要循环条件表 达式为真,则循环体就重复执行,直到循环条件表 达式为假。所以whil

6、e循环的次数不确定。while循 环的语法是:while conditionloopbodyendwhile循环 v利用while求EPS(eps) EPS = 1;while (1+EPS) 1EPS = EPS/2;endEPS = EPS*2EPS =2.2204e-016 while循环 v利用while求EPS(eps)eps是一个加1后而使结果以有限精度大于1的最小 数值。这里我们用大写EPS是为了避免MATLAB中常 量eps的值被覆盖。在本例中EPS以1开始。只要 (1+EPS)1为真(非零),就一直求while循环内的命令 值。由于EPS不断地被2除,EPS逐渐变小以致于 E

7、PS+1不大于1。(记住,发生这种情况是因为计算机 使用固定数的数值来表示数。MATLAB用16位,因此 ,我们只能期望EPS接近10-16。) 在这一点上, (1+EPS)1是假(零),于是while循环结束。最后,EPS 与2相乘,因为最后除2使EPS太小。while循环v利用while循环求Fibonacci数列的小于100的项 Fibonacci数列指的是这样的一个数列:1、1、2 、3、5、8、13、21、这个数列从第三项开始,每 一项都等于前两项之和。那么我们可以通过循环的方 式来实现这个数列的求解,且终止条件设为要求取数 列的最后一项必须小于100,因而可以在语句段中设 置一个f

8、lag,判断已经求得数列的最后两项之和是否 超过100,如果没有,则循环继续,如果已经超过则 循环终止,那么可以在MATLAB命令窗口输入while循环v 利用while循环求Fibonacci数列的小于100项 f(1)=1;f(2)=1;%Fibonacci数列的前两项 i=2;%项数标志 n=2;%循环终止判断标志变量 while (n if (attendance = 0.90) endif结构vif-else-end结构if conditionstatements_1elsestatements_2end其中当条件表达式condition的值为真(非0)时 执行语句段statemen

9、ts_1,否则则执行语句段 statements_2。if结构vif-else-end结构例如我们利用rand()函数产生随机数x,而后判断其与 0.5的大小并打印结果的语句段如下: x=rand();if x0.5fprintf(x is greater than 0.5n);elsefprintf(x is less than 0.5n)endif结构v if-elseif-else-end结构if condition_1statements_1elseif condition_2%这里可以有多个else ifstatements_2elsestatements_3end在这种结构控制下,

10、当运行到程序的某一条条件表达式 为真(非0)时,则执行与之相关的语句段,而后系统不再检 查其他的条件表达式,系统将跳过if结构中的其他语句。if结构v if-elseif-else-end结构需要注意的是,在一个if 结构中,可以有任意个elseif 语句, 但else语句最多有一个或者没有。 if (b2 - 4*a*c) for i=200:500if rem(i,53)=0continueendbreakend ii =212 vreturn语句 当用户需要在文件中进行终止操作时,可以使用 return命令,执行return命令后,进程将返回调用函 数或者键盘。运用return命令可以提

11、前结束程序的 运行。return和break的区别在于return一般用于函数 或者文件的结束,而break用于循环的终止M脚本文件和M函数文件 v为什么要用M脚本和M函数 在前面章节中我们解决问题的方法都是在 MATLAB的命令窗口直接输入相关的命令行或者 语句段,这种方法适用于一些简单问题的解决,但 是当我们遇到更为复杂的综合性问题时则需要用到 程序编辑与调试的环境,在MATLAB中我们称之 为M文件编辑器。利用它我们可以实现对 MATLAB命令行语句段的批处理,或者对M文件 进行保存和调用。M脚本文件和M函数文件 v为什么要用M脚本和M函数 MATLAB 程序大致分为两类:M 脚本 (M

12、- Script) 和 M 函数 (M-function), 它们均是普 通的 ASCII 码构成的文件,后缀均为.m。vM文件的命名规则 文件名必须以字母开头,而后可以是英文、数字和 下划线的组合,文件名首字符不能是数字或下划线 ,M文件名中不能含有空格 M文件名不能与MATLAB内部函数名相同,因而 建议对M文件的命名尽量不用简单的英文单词, 虽然MATLAB对M文件名是大小写敏感的,但 Windows的文件名是不区分大小写的,为了文件的 保存方便,实现不同平台之间的通用性,建议M文 件名尽量只使用小写。M文件编辑器 v 什么是M文件编辑器 M文件编辑器是MATLAB中集成编辑和调试的环境

13、,用户 可以通过MATLAB中的M文件编辑器编写用户的M文件, 同时也可以使用编辑器打开和修改M文件,观察变量值、 调试程序等。M文件编辑器的界面如图所示M文件编辑器v 启动M文件编辑器的方法 在命令窗口输入edit命令可进入M文件编辑器,此时 MATLAB将建立一个空文件,如果需要查看、编辑或者修 改已经存在的M文件,例如文件名为test.m,则用户只需在 命令窗口输入edit test或者edit test.m; 单击工具栏上的M-file按钮,此时MATLAB将建立一个空文 件; 通过File|New菜单可以选择建立不同类型的M-file,包括空 M文件、函数M文件和类M文件,当选择建立

14、函数M文件或 者类M文件时,MATLAB会自动给出相应文件类型的模版 。 注意每次修改程序之后都要存盘M脚本文件 v什么是M脚本文件 M脚本文件中存储的是可用于自动重复执行的一组 MATLAB命令和函数组合。建立一个M脚本文件 等价于从命令窗口中顺序输入文件里的命令,程序 不需要预先定义,只要依次将命令编辑在命令文件 中,再将程序保存成为扩展名为.m的M脚本文件即 可vM脚本文件的执行 第一种方式是在M文件编辑器的工具栏中点击Run 按钮 第二种方式类似批处理文件,执行M脚本文件时不 需要输出输入参数,只需要在MATLAB命令窗口 的命令行提示符 之后键入M脚本文件的文件名 即可,这样MATL

15、AB将自动执行该M脚本文件中 的各条语句,并将结果直接返回到MATLAB 的工 作空间。当一个M脚本文件被执行时,和直接在命 令窗口中直接键入MATLAB 语句所产生的结果相 同。很重要的一点是,要通过这种方式运行的前提 条件是该M脚本文件需要存储在MATLAB的搜索 路径之中 M脚本文件分享命令窗口中的工作区,用M 脚本文件可以调用工作空间已有的变量或创 建新的变量。运行过程中产生的变量都是全 局变量,所有在脚本文件中创建的变量在脚 本文件运行之后仍然存在工作区 M脚本文件适用于用户所需要立即得到结果 的小规模运算 v例子 打印出所有的“水仙花数”,所谓“水仙花数”是指一 个三位数,其各位数字立方和等于该数本身。例如 :153是一个“水仙花数”,因为153=135333。 clears=;%置水仙花数数组为空index=0;%置水仙花数数量标志为0三层循环sindexfor i=1:9for j=1:9for k=1:9if (i3+j3+k3=100*i+10*j+k)index=index+1;%水仙花数数量标志加1s(index)=100*i+10*j+k;endendend endM函数文件 v什么是M函数文件 MATLAB函数是一种特殊形式的M文件,它和M脚本文件的不同之处在于M函数文件运行在独立的工作区,一般要自带参数且返回结果。MATLAB中的M函数文件

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

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号