3MATLAB编程.ppt_第1页
3MATLAB编程.ppt_第2页
3MATLAB编程.ppt_第3页
3MATLAB编程.ppt_第4页
3MATLAB编程.ppt_第5页
已阅读5页,还剩17页未读, 继续免费阅读

下载本文档

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

文档简介

1、MATLAB编程 数学与信息科学系 汪远征,3.1 关系与逻辑运算,3.1.1 关系操作符 由关系运算符构成的表达式称为关系表达式.,3.1 关系与逻辑运算,3.1.2 逻辑运算符 由逻辑运算符构成的表达式称为逻辑表达式.,3.2 程序流程控制,顺序结构:从上到下依次执行各语句,该结构最简单。 分支结构:分为if语句和switch语句 循环结构:分为for语句和while语句 这些结构通常包含大量的MATLAB 命令,故常出现在MATLAB 程序中,而不是直接应用在MATLAB 提示符下.,3.2 程序流程控制,3.2.1 分支结构:if 语句 3.2.2 分支结构:switch 语句 3.2

2、.3 循环结构:for 语句 3.2.4 循环结构:While 语句,3.2 程序流程控制,3.2.1 分支结构1:if-else-end语句 1. 单分支选择结构 单分支结构的一般形式是: if else end 说明:如果条件表达式为真,就执行命令序列1 ,否则执行命令序列2.,3.2 程序流程控制,3.2.1 分支结构1:if-else-end语句 1. 单分支选择结构 例3-1 设 求f (2),f (-1) 方法一:定义M文件li1,直接运行li1: x = input(x=) if x 1 y = x2+1 else y = 2*x end,3.2 程序流程控制,3.2.1 分支结

3、构1:if-else-end语句 1. 单分支选择结构 例3-1 设 求f (2),f (-1) 方法二:建立函数文件fun1.m,再在Matlab命令窗口输入fun1(2),fun1(-1)即可。 function y=fun1(x) if x1 y=x2+1 else y=2*x end,3.2 程序流程控制,3.2.1 分支结构1:if-else-end语句 2. 多分支选择结构 多分支结构可以使用单分支结构的嵌套形式,也可以使用下述格式: if (), elseif (), elseif (), elseif else , end,3.2 程序流程控制,3.2.1 分支结构1:if-e

4、lse-end语句 2. 多分支选择结构 例3-2 设 求f(2),f(0.5),f(-1) 方法一:定义M文件li2,直接运行li2:,3.2 程序流程控制,3.2.1 分支结构1:if-else-end语句 2. 多分支选择结构 例3-2 设 求f(2),f(0.5),f(-1) 方法二:建立M文件fun2.m, 再在Matlab命令窗口输入fun2(2) ,fun2(0.5),fun2(-1),3.2 程序流程控制,2.2.2 分支结构2:switch语句 switch 语句可以根据一个变量或表达式的值执行特定的语句,其格式如下: switch () case , case , othe

5、rwise , end,3.2 程序流程控制,2.2.2 分支结构2:switch语句 例3-3 编一个转换成绩等级的函数文件,其中转换标准为:分数在90,100中,显示优秀;分数在80,90)中,显示良好;分数在60,80)中,显示及格;分数在0,60)中,显示不及格。 建立M文件fun3.m:,3.2 程序流程控制,2.2.3 循环结构1:for语句 for 循环结构允许一组命令以固定的和预定的次数重复,其一般格式为: for x = : : end 其中x称为循环变量,如果省略步长,则步长默认为1.,3.2 程序流程控制,2.2.3 循环结构1:for语句 例3-4:计算1到100的和.

6、 a = 0; for i = 1: 100 a = a + i; end a,3.2 程序流程控制,2.2.3 循环结构1:for语句 循环变量也可以是一个向量 例3-5 对x = 1,4,5,7,9,8,10,求Sin(x) Cos(x)的值 a = 1, 4, 5, 7, 9, 8, 10; for x = a y = sin(x) - cos(x) end 上述循环也可以直接使用向量运算: a = 1, 4, 5, 7, 9, 8, 10; y = sin(a) - cos(a),3.2 程序流程控制,2.2.3 循环结构1:for语句 例3-6 编程生成一个6阶矩阵,使其主对角线上元

7、素均为1,与主对角线相邻元素均为2,其余元素为0。 A=eye(6); for k=1:5 A(k,k+1)=2; A(k+1,k)=2; end 考虑: diag(2 2 2 2 2 2 ) + diag(1 1 1 1 1,1) + diag(1 1 1 1 1,-1),3.2 程序流程控制,2.2.3 循环结构1:for语句 例3-7 有一个45 矩阵,编程求出其最大值及其所处的位置. a = rand(4, 5) b = 0; c = 0 0; for i=1: 4 for j = 1: 5 if ba(i, j), b=a(i, j); c = i j; end end end b,

8、 c,3.2 程序流程控制,2.2.4 循环结构2:While语句 与for 循环以固定次数求一组命令相反,while 循环根据条件表达式的值来确定程序的运行方式,一般用以事先不知道循环次数的情况. while () end 只要条件表达式为真,就执行while 和end 语句之间的循环体.,3.2 程序流程控制,2.2.4 循环结构2:While语句 例3-8 设银行年利率为11.25%,将10000元钱存入银行,问多长时间会连本带利翻一番? money = 10000 years = 0 while money 20000 years = years + 1 money = money*(1 + 11.25/100) end,3.2 程序流程控制,2.2.4 循环结构2:While语句 例3-9 Fibonacci数列的元素满足: Fk+2 = Fk + Fk+1,(k = 1, 2, .),且F1=F2=1 求该数列中第一个大于10000的元素。 a(1)=1;a(2)=1;i=2; while a(i)=10000 a(i+1)=a(i-1)+a(i); i=i+1; end i, a,3.2 程序流程控制,2.2.4 循环结构2:While语句

温馨提示

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

评论

0/150

提交评论