版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第五讲 程序设计与M文件,MATLAB有两种工作方式: 1: 交互式的命令行工作方式 2: M文件的程序工作方式,M脚本文件和M函数文件,1. M脚本文件 M脚本文件的说明如下: (1)MATLAB在运行脚本文件时,只是简单地按顺序从文件中读取一条条命令,送到MATLAB命令窗口中去执行; (2)M脚本文件运行产生的变量都驻留在MATLAB的工作空间中,可以很方便地查看变量,在命令窗口中运行的命令都可以使用这些变量; (3)脚本文件的命令可以访问工作空间的所有数据,因此要注意避免工作空间和脚本文件中的同名变量相互覆盖,一般在M脚本文件的开头使用“clear”命令清除工作空间的变量。,例5-1
2、在M文件编辑调试器窗口中编写M脚本文件得出10-50范围内的所有素数。 %EX5_1 计算10-50内的素数 clear y1=primes(50);%获得50以内的所有素数 n=length(primes(10);%获得10以内素数的个数 y=y1(n+1:end) 在命令窗口中输入: ex5_1 y = 11 13 17 19 23 29 31 37 41 43 47 在工作空间中就可以查看到变量y1、n和y,并可以修改和使用这些变量。,M函数文件,函数文件是另一种形式的M文件,每一个函数文件都定义一个函数,MATLAB提供的标准函数大部分都是由函数文件定义的。 格式:function 输
3、出形参表=函数名(输入形参表) 函数体 其中以function开头的一行为引导行,表示该M文件是一个函数文件,函数名的命名规则与变量名相同。输入形参为函数的输入参数,输出形参为函数的输出参数,当输出形参多于1个时,则应该用方括号括起来。,M函数文件,(1)关于函数文件名: 函数文件名与函数名也可以不相同。当两者不同时,MATLAB将忽略函数名而确认函数文件名,因此调用时使用函数文件名。 (2)关于return语句。执行到该语句就结束函数的执行,程序流程转至调用该函数的位置。通常,在函数文件中不使用return语句,这时被调函数执行完成后自动返回。,例 编写函数文件求半径为r的圆的周长。,fun
4、ctionp=fcircle(r) %r 圆半径 %p 圆周长 p=2*pi*r;,M函数文件调用,函数调用的一般格式是: 输出实参表=函数名(输入实参表) 要注意的是,函数调用时各实参出现的顺序、个数,应与函数定义时形参的顺序、个数一致,否则会出错。函数调用时,先将实参传递给相应的形参,从而实现参数传递,然后再执行函数的功能。 例: r=1 2 3 4 5 y=fcircle(r) 返回:y=6.2832 12.5664 18.8496 25.1327 31.4159,M函数文件调用,函数可以嵌套调用,即一个函数可以调用别的函数,甚至调用它自身,一个函数调用它自身称为函数的递归调用。,全局变
5、量和局部变量,全局变量的作用域是整个MATLAB工作空间,是函数间传递信息的一种手段。 全局变量定义: global 变量名 例: global cheng,全局变量应用示例,例: 先建立函数文件 wadd.m,该函数将输入的参数加权相加。 function f=wadd(x,y) global ALPHA BETA f=ALPHA*x+BETA*y;,在命令窗口中输入: global ALPHA BETA ALPHA=1; BETA=2; s=wadd(1,2) 输出为: s = 5,选择结构,1 单分支if语句: if 条件 语句组 end 当条件成立时,则执行语句组,执行完之后继续执行i
6、f语句的后继语句,若条件不成立,则直接执行if语句的后继语句。,选择结构,2. 双分支if语句: if 条件 语句组1 else 语句组2 end 当条件成立时,执行语句组1,否则执行语句组2,语句组1或语句组2执行后,再执行if语句的后继语句。,选择结构例题,例:计算分段函数的值 x=input(请输入x的值:); if x=0 y= (x+sqrt(pi)/exp(2) else y=log(x+sqrt(1+x*x)/2 end,选择结构,3.多分支选择结构 if 条件1 语句组1 elseif 条件2 语句组2 elseif 条件m 语句组m else 语句组m+1 end,例: 输入
7、三角形的三条边,求面积。,A=input(请输入三角形的三条边:); if A(1)+A(2)A(3) else disp(不能构成一个三角形。) end 运行: 请输入三角形的三条边:4 5 6 9.9216,例:输入一个字符,若为大写字母,则输出其后继字符,若为小写字母,则输出其前导字符,若为其他字符则原样输出。,c=input(,s); if c=A end,switch语句,switch语句根据变量或表达式的取值不同,分别执行不同的语句。其格式为: switch 表达式 case 值1 语句组1 case 值2,语句组2 case 值m 语句组m otherwise 语句组m+1 en
8、d,switch语句,当表达式的值等于表达式1的值时,执行语句组1,当表达式的值等于表达式2的值时,执行语句组2,当表达式的值等于表达式m的值时,执行语句组m,当表达式的值不等于case所列的表达式的值时,执行语句组n。当任意一个分支的语句执行完后,直接执行switch语句的下一句。,根据变量 num 的值来决定显示的内容。,num=input(请输入一个数); switch num case -1 disp(I am a teacher.); case 0 disp(I am a student.); case 1 disp(You are a teacher.); otherwise di
9、sp(You are a student.); end,循环结构,for语句: 格式: for 循环变量=表达式1:表达式2:表达式3 循环体语句 end 注:其中表达式1的值为循环变量的初值,表达式2的值为步长,表达式3的值为循环变量的终值。步长为1时,表达式2可以省略。,循环结构,while语句 格式为: while (条件) 循环体语句 end,一个三位整数各位数字的立方和等于该数本身则称该数为水仙花数。输出全部水仙花数。 程序如下: for m=100:999 m1=fix(m/100); %求m的百位数字 m2=rem(fix(m/10),10); %求m的十位数字 m3=rem(m
10、,10); %求m的个位数字 if m=m1*m1*m1+m2*m2*m2+m3*m3*m3 disp(m) end end,已知y表达式,当n=100时,求y的值 y=0; n=100; for i=1:n y=y+1/(2*i-1); end y,循环结构,循环的嵌套 如果一个循环结构的循环体又包括一个循环结构,就称为循环的嵌套,或称为多重循环结构。 多重循环的嵌套层数可以是任意的。可以按照嵌套层数,分别叫做二重循环、三重循环等。处于内部的循环叫作内循环,处于外部的循环叫作外循环。,break语句和continue语句 与循环结构相关的语句还有break语句和continue语句。它们一般
11、与if语句配合使用。 break语句用于终止循环的执行。当在循环体内执行到该语句时,程序将跳出循环,继续执行循环语句的下一语句。 continue语句控制跳过循环体中的某些语句。当在循环体内执行到该语句时,程序将跳过循环体中所有剩下的语句,继续下一次循环。,流程控制命令,1. return命令 return命令用于提前结束程序的执行,并立即返回到上一级调用函数或等待键盘输入命令,一般用于遇到特殊情况需要立即退出程序或终止键盘方式。 应注意当程序进入死循环时,则按Ctrl+break键来终止程序的运行。 2. keyboard命令 keyboard命令用来使程序暂停运行,等待键盘命令,命令窗口出现“K”提示符,当 键盘输入“return”后,程序才继续运行。keyboard命令可以用来在程序调试或程序执行时 3. in
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 文献综述政府采购制度
- 采购部门报销制度
- 采购销售流程管理制度
- 采购项目公开接待制度
- 采购风险管理制度
- 采购高值耗材制度
- 金融机构公司采购制度
- 餐饮采购管理制度
- 七年级下学期数学第一次月考卷02(参考答案)-人教版(2024)七下
- 销售月个人工作总结
- 2025年江西建设职业技术学院单招综合素质考试题库及答案解析
- 抗菌药物临床应用指导原则试题含答案
- 2026黑龙江新高考:语文必背知识点归纳
- 金属非金属地下矿山人行梯子间设置细则
- 领导干部任前法律法规知识考试题库(2025年度)及答案
- 2025福建厦门航空有限公司招聘备考题库及答案详解(易错题)
- 村集体三资管理培训课件
- (正式版)DB61∕T 2115-2025 《中深层地热能开发钻完井技术规程》
- 年鉴编纂基本知识课件
- 2026年保安员证考试题库完整版
- 内蒙古环保投资集团有限公司招聘笔试题库2026
评论
0/150
提交评论