第二讲 M文件及函数的编写
MATLAB M文件与M函数
M文件与M函数Matlab输入命令的常用方式有两种:一种是直接在Matlab的命令窗门中逐条输入Matlab 命令;二是m文件工作方式。
当命令行很简单时,使用逐条输入方式还是比较方便的。
但当命令行很多时(比如说几十行乃至全成百上千行命令),显然再使用这种方式输入MATLAB 命令,就会显得杂乱无章,不易于把握程序的具体走向,并且给程序的修改和维护带来了很大的麻烦。
这时,建议采用Matlab命令的第二种输入形式m文件工作方式。
m文件工作方式,指的是将要执行的命令全部写在一个文本文件中,这样既能使程序显得简洁明了,又便于对程序的修改与维护。
m文件直接采用Matlab命令编写,就像在Matlab 的命令窗口直接输入命令一样,因此调试起来也十分方便,并且增强了程序的交互性。
m文件与其他文本文件一样,可以在任何文本编辑器中进打编辑、存储、修改和读取。
利用m文件还可以根据白己的需要编写一些函数,这些函数也可以橡Matlab提供的函数一样进行调用。
从某种意义上说,这也是对MATLAB的二次开发。
m文件有两种形式:一种是命令方式或称脚本方式;另一种就是函数文件形式。
两种形式的文件扩展名均是.m。
1、M文件当遇到输入命令较多以及要重复输入命令的情况时,利用命令文件就显得很方便了。
将所有要执行的命令按顺序放到一个扩展名为.m的文本文件中,每次运行时只需在MATLAB 的命令窗口输入m文件的文件名就可以了。
需要注意的是,m文件最好直接放在Matlab的默认搜索路径下(一般是Matlab安装目录的子目录work中),这样就不用设置m文件的路径了,否则应当用路径操作指令path重新设置路径。
另外,m文件名不应该与Matlab的内置函数名以及工具箱中的函数重名,以免发生执行错误命令的现象。
Matlab对命令文件的执行等价于从命令窗口中顺序执行文件中的所有指令。
命令文件可以访问Matlab工作空间里的任何变量及数据。
命令文件运行过程中产生的所有变量都等价于从Matlab工作空间中创建这些变量。
第二讲 M文件及函数的编写PPT课件一等奖新名师优质课获奖比赛公开课
第15页
(5)try-catch 结构
M文件及函数编写
try
(commands1)
该命令总被执行,若正确, 则跳出此结构
catch
(commands2)
仅当组命令1出现执行错 误,才执行该命令。
end
第16页
3. 交互式输入
(1) 用户输入提醒命令input
强大可开发性和可扩展性。
M文件两种形式
命令式(M_Script) 函数式(Function)。
命令式文件就是命令行简单叠加,MATLAB会
自动按次序执行文件中命令。 函数式文件主要用以处理参数传递和函数调用
问题。
第3页
1.M-script 文件编写
新建M文件 普通过程 编写指令
调试运行
M文件及函数编写
第17页
(2)等候用户反应命令pause
M文件及函数编写
此命令用于使程序暂时终止运行,等候用户按任
意键后继续运行。 此函数调用形式以下: Pause 暂停程序等候回应;
Pause(n) 程序运行中等候n秒后继续运行;
Pause on 显示其后 Pause命令,而且执行 pause命令;
Pause off 显示其后pause命令,但不执行
➢不推荐在同一文件中,写多个函数。 ➢提议每个函数单独写成一个文件,由主 程序调用,主程序不要写成函数形式。
第26页
5 程序设计优化
M文件及函数编写
即使MATLAB程序语言高度集成,但因为 MATLAB属于解释型语言,在执行效率方面 还是存在一些不足,所以,怎样优化程序, 尤其是在大型运算与仿真中,是一个很主要 话题。
第二讲M文件的编写
2.switch语句(开关结构) switch语句根据表达式的取值不同,分别执行不 同的语句,其语句格式为: switch 表达式 case 表达式1 语句组1 case 表达式2 语句组2 …… case 表达式m 语句组m otherwise 语句组n end
当表达式的值等于表达式1的值时,执 行语句组1,当表达式的值等于表达式 2的值时,执行语句组2,…,当表达 式的值等于表达式m的值时,执行语 句组m,当表达式的值不等于case所列 的表达式的值时,执行语句组n。当任 意一个分支的语句执行完后,直接执 行switch语句的下一句。
循环结构 1.for语句 for语句的格式为: for 循环变量=表达式1:表达式2:表达式3 循环体语句 end 其中表达式1的值为循环变量的初值,表达式 2的值为步长,表达式3的值为循环变量的 终值。步长为1时,表达式2可以省略。
例7 一个三位正整数各位数字的立方和等于 该数本身则称该数为水仙花数。输出全部 水仙花数。
(2) 双分支if语句: if 条件 语句组1 else 语句组2 end 当条件成立时,执行语句组1,否则执行语 句组2,语句组1或语句组2执行后,再执行 if语句的后继语句。
例4 计算分段函数的值。
程序如下: x=input('请输入x的值:'); if x<=0 y= (x+sqrt(pi))/exp(2); else y=log(x+sqrt(1+x*x))/2; end y
程序控制结构
顺序结构 1.数据的输入
从键盘输入数据,则可以使用input函数来进行,该 函数的调用格式为: A=input(提示信息,选项); 其中提示信息为一个字符串,用于提示用户输入什 么样的数据。 例 R = input('How many apples:') 如果在input函数调用时采用's'选项,则允许用户 输入一个字符串。例如,想输入一个人的姓名, 可采用命令:xm=input('What is your name?','s');
matlab-m文件与m函数
第1章 MATLAB 语言系统
1.3.2 独立m文件 独立m文件是不需要输入输出参数 的带有扩展名.m的m文件,可以分为两种: 一种是注释文件,另一种是执行文件。
第1章 MATLAB 语言系统
注释文件只有注释行,没有命令执行行。
注释文件可以响应help命令。
注释行的各书写行之前需要冠以“%”符号来标识,
作为命令在MATLAB平台上执行。
第1章 MATLAB 语言系统
不同的是,需要相应的参数方可以 正确地执行,如本函数,需要输入参数x, 并且返回3个参数y,y1,y2。
第1章 MATLAB 语言系统
在MATLAB平台上执行m函数exam03.m
如下:(在matlab中演示)
x=0:2*pi/180:2*pi;
y=exam03(x);
plot(x,y)
第1章 MATLAB 语言系统
输入命令显示结果如图1-22所示。
图1-22
输入命令显示
第1章 MATLAB 语言系统
输出图线显示结果如图1-23所示。
图1-23
演示曲线
第1章 MATLAB 语言系统 可以看到,exam03.m是依赖于变量x来执
行的,并且返回变量y到MATLAB平台上或者变
量内存,与独立m文件的执行是不同的。 注: function[y,y1,y2]=exam03(x) 如文件名为:ff.m 则调用ff(x),所以一般把 文件名与函数名起一样的。
总结
• 1.M文件如何建立?如何执行? (1)EDIT (2)“文件”—“新建” (3)文件名<回车> • 2.看M文件用什么语句?--- type <文件名> • 3. M文件的注释,用什么语句? help <文件名> • 4. M函数,调用文件名(自变量) function[y,y1,y2]=exam03(x) 如文件名为:ff.m 则调用ff(x)
M文件PPT课件
MATLAB
2. 选择结构(根据给定条件成立否,分别执行不同语
句,主要有if,switch,try)
(1) 条件分支语句——if语句
在MATLAB中,if语句有3种格式。
1) 单分支if语句:
if 条件
语句组
end
2)双分支if语句;(求分段函数多用)
if 条件
语句组1
else
语句组2
end
24
☺用matlab自带的编辑器来创建m文件。 (建 议使用)。
☺单击桌面图标 ,或选中{File:New: M-File} ,或在命令窗输入指令edit,都可以打开
7
空白的M文件编辑器;点击 ,打开已有的M文
MATLAB
(2) M文件的分类
M文件有两类:命令文件(脚本文件)和函数 文件。它们的扩展名均为.m。
30
MATLAB
(3)循环的嵌套
如果一个循环结构的循环体又包括 一个循环结构,就称为循环的嵌套,或 称为多重循环结构。exfor.m
31
MATLAB
(4)break语句和continue语句 ☺它们一般与if语句配合使用。 ☺break语句用于终止循环的执行。 当在循环体
第四章 MATLAB程序设计
4.1 M文件 4.2 程序控制结构 4.3 程序调试
2
MATLAB
本章重点
1.掌握M文件的特点及功能 2.编写M函数文件的基本方法及步骤 3.掌握常用的几种程序控制结构
3
MATLAB
4.1 M文件
☺MATLAB的工作模式 ☺M文件介绍 ☺M函数文件相关概念
4
MATLAB
1. MATLAB的工作模式
指令(命令)执行模式
matlab编写M文件(函数)
matlab编写M文件(函数)matlab的命令编辑窗口(Command Window)界面主要是用来调用系统命令、调用自定义函数(m文件里定义的函数)或编写一些较小的代码。
在遇到需要用到比较多的代码才能摆平的需求时,在命令编辑窗口每一行都有提示输入符号,用起来不是很方便(如前所述而且命令编辑窗口主要是用来调用命令之用),此时我们不得不求助于matlab的m文件来编写代码。
所以,记录一下经自行探索其编写方式后的入门过程:版本:MATLAB 7.9.0(R2009b)1.新建m文件打开matlab软件-->file-->new-->Function m-file经过此步骤之后,matlab会弹出一个新的编辑窗口,并生成少许代码如下:[plain]view plaincopyprint?1.function [ output_args ] = Untitled( input_args )2.%UNTITLED Summary of this function goes here3.% Detailed explanation goes here4.5.6.7.8.end这些代码是一个m-函数的模板。
function:表示编写的是一个函数。
output_args: 表示编写此函数的返回值(不同于C语言的是需要被返回的值无需使用return语句,只要将outp_args相应的参数拿到代码中赋值即可,同一般变量的使用),各返回值间用逗号隔开。
input_args: 此函数的输入参数,各参数之间用逗号隔开。
Untitled: 这是您所编写函数时所定义的函数名。
注意:函数名和m文件名需要保持一致。
如刚所创建的m文件在工作空间时命名为“RungeKuttaCalculate.m”则相应的函数名也需要为“RungeKuttaCalculate”,否则会引起报错。
%: 是matlab的注释语句的注释符,相当于C语言中的行注释符"//",在这里你可以描述此函数的功能,参数含义和返回值含义,使其含义更加明确。
matlabM文件PPT课件
然后在MATLAB命令窗口调用该函数:
[s,p]=fcircle(10)
MATLAB
系统文件——s函数
用于描述系统运动的专用函数,是特殊的 m 文件。 完整函数调用的命令格式:
s 函数有3类: 由simulink结构图自动创建 可用c语言程序设计mex文件直 接定义
用函数m文件编写
MATLAB
注意问题:
+ 1. 函数m文件第一行必须以单词function作为引 导词,表示该M文件是一个函数文件,必须遵循 如下形式: function [输出参数]=函数名(输入参数)
+ 2. 函数名的命名规则与变量名相同,m文件的文 件名必须是<函数名> .m。
+ 3.函数执行后,只保留最后的返回结果,不保留 任何中间过程。程序中的变量均为局部变量, 不保存在工作空间中,其变量只在函数运行期 间有效,随函数调用的结束而从工作空间消除。
文件的分类
M文件有两类:命令文件(脚本文件)和函数 文件。它们的扩展名均为.m。
①命令文件:将用户在MATLAB环境下直接输入的多条语 句或者命令,存 放为 .m 后缀的文件,在命令行键入文 件名,来替代在命令窗口输入多条语句,一次执行成批 命令。
②函数文件:它是有特定书写规范的M文件。如果M文件 第一行包含function, 则此文件为函数文件。每个函数 文件都定义一个函数。用来扩充Matlab的应用范围和满 足用户不同的实际需求。
MATLAB
2)函数帮助信息行 函数信息行:给出函数的帮助信息,帮助信息
要从%开头,并放在一行的开头,用help+函数名 可查询到;
3)函数体----是函数的功能实现部分 4)注释
matlab中m文件与m函数的学习与理解
matlab中m⽂件与m函数的学习与理解1. m⽂件与m函数的区别所谓 MATLAB 程序,⼤致分为两类:M 脚本⽂件 (M-Script) 和 M 函数 (M-function), 它们均是普通的 ASCII 码构成的⽂件。
M 脚本⽂件中包含⼀族由 MATLAB 语⾔所⽀持的语句,它类似于 DOS 下的批处理⽂件,它的执⾏⽅式很简单,⽤户只需在 MATLAB 的提⽰符>> 下键⼊该 M ⽂件的⽂件名,这样 MATLAB 就会⾃动执⾏该 M ⽂件中的各条语句,并将结果直接返回到 MATLAB 的⼯作空间。
M 函数格式是 MATLAB 程序设计的主流,⼀般情况下,不建议您使⽤ M 脚本⽂件格式编程。
MATLAB 的 M 函数是由 function 语句引导的,其基本格式如下:function [返回变量列表] = 函数名 (输⼊变量列表)注释说明语句段, 由 % 引导输⼊、返回变量格式的检测函数体语句2.输⼊变量和返回变量的个数 这⾥输⼊和返回变量的实际个数分别由nargin和 nargout两个 MATLAB 保留变量来给出,只要进⼊该函数,MATLAB 就将⾃动⽣成这两个变量,不论您是否直接使⽤这两个变量。
返回变量如果多于 1 个,则应该⽤⽅括号将它们括起来,否则可以省去⽅括号。
输⼊变量和返回变量之间⽤逗号来分割。
3.注释语句的使⽤ 注释语句段的每⾏语句都应该由百分号 % 引导,百分号后⾯的内容不执⾏,只起注释作⽤。
⽤户采⽤ help 命令则可以显⽰出来注释语句段的内容。
此外,正规的变量个数检测也是必要的。
如果输⼊或返回变量格式不正确,则应该给出相应的提⽰。
我们将通过下⾯的例⼦来演⽰函数编程的格式与⽅法。
假设我们想⽣成⼀个 nxm 阶的 Hilbert 矩阵, 它的第 i ⾏第 j 列的元素值为 1/(i+j-1)。
我们想在编写的函数中实现下⾯⼏点:如果只给出⼀个输⼊参数,则会⾃动⽣成⼀个⽅阵,即令 m=n在函数中给出合适的帮助信息,包括基本功能、调⽤⽅式和参数说明检测输⼊和返回变量的个数,如果有错误则给出错误信息 如果调⽤时不要求返回变量,则将显⽰结果矩阵。
第六章 M文件和函数句柄2
例4: 编写函数文件求半径为r的圆的面积和周长。
函数文件如下: function [s,p]=fcircle(r) %FCIRCLE calculate the area and perimeter of a circle of radii r %r %s %p s=pi*r*r; p=2*pi*r; 将以上函数文件以文件名fcircle.m存入D:\MATLAB701\work下,然后在 MATLAB命令窗口调用该函数: [s,p]=fcircle(10) 圆半径 圆面积 圆周长
例2:观察执行命令式文件和函数式文件后,变量的变 化。
function y=hanshu(a) x1=2*a x2=a^2
先执行x1=0.1; x2=0.2;
再执行 a=2;hanshu(a); 观察工作空间中x1,x2值的
变化情况
结论:在函数式M文件中,变量的值是以局部变量 的形式存储在文件中的。
例6:输入x,y的值,并将它们的值互换后输出。Fra bibliotek程序如下:
x=input('Input x please.'); y=input('Input y please.'); z=x; x=y; y=z; disp(x);
disp(y);
例7:求一元二次方程ax2 +bx+c=0的根。 程序如下: a=input('a=?'); b=input('b=?'); c=input('c=?'); d=b*b-4*a*c; x=[(-b+sqrt(d))/(2*a),(-b-sqrt(d))/(2*a)]; disp(['x1=',num2str(x(1)),',x2=',num2str(x(2))]);
程序设计M文件ppt课件
>> [a,b,c]=test2([90,89,60],[79,89,66],[99,98,100])
a= 89.3333
b= 32.6667
c= 33.3333
思考:如果多个学生的成绩是同一科目的成绩放在一个数组中,如何修改 test2函数。
• for语句
for循环语句是流程控制语句中的基础,使用该循环语句可以以 指定的次数重复执行循环体内的语句。 for循环语句的调用形式:
for 循环控制变量=<循环次数设定>(可以是已定义的向 量,也可在for循环语句中定义)
循环体 end
回到本章目录
for i = 1:4
% 初始值:步长:终值(步长默认为1)
回到本章目录
函数input的另一种调用格式: var=input(‘提示性语句’,’s’)
以该格式调用时,input函数将视用户键盘输入的一切字符 为字符型赋予变量var,而不对其进行任何计算。在提示型 语句中可以用“\n”来控制显示时的换行。例如:
第一种调用格式:
>> a=input('input example\n') input example 1+4 a=
break语句:当程序流程运行至该命令时,则不论循环控制变 量是否满足循环判断语句,均将退出当前循环,执行循环后 的其他语句。
continue命令:当程序流程运行至该命令时,会忽视其后的循 环体操作转而执行下一层的循环。
回到本章目录
63
2n
例. 计算级数:S=1+2+22+23+···+263= n 0
M文件的建立及调用
一、M文件建立
1、点击左上角那里新建一个窗口,那个就是m文件。
得到如下窗口:
2、先新建一个txt,如a.txt,然后重命名,将后缀名改为.m,如a.m
3、在Editor窗口编辑M文件
4、举例:
绘制一个周期的正弦曲线,并标出函数名称、横坐标、纵坐标、横坐标的半周期及周期、函数的最大值及最小值。
5、运行文件
点击运行按钮,得到下图:说明类型(M-file),文件名
(zx.m)说明文件功能
函数体
6、保存文件
点击file→save as
二、M文件调用
在matlab命令窗口直接输入M文件名即可。
如果想在matlab命令窗口显示M文件的源程序,可用“type M文件名”。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
M文件及函数的编写 文件及函数的编写
(3)函数体说明及有关注解以(%)开头,用 以说明函数的作用及有关内容 (4)函数体语句 函数体内使用的除返回和输入变量这些在 function语句中直接引用的变量以外的所有 变量都是局部变量,即在该函数返回之后, 这些变量会自动在MATLAB的工作空间中 清除掉。如果希望这些中间变量成为在整 个程序中都起作用的变量,则可以将它们 编写
【例6】前面的要求,m, 10000 】前面的要求,
1.写好程序,存成findsum.m文件 写好程序,存成 写好程序 文件
function [s,m]=findsum(k) s=0; m=0; while(s<=k) m=m+1; s=s+m; end
2.在command window中调用: 在 中调用: 中调用 [s,m]=findsum(10000)
•无需修改程序 无需修改程序
M文件及函数的编写 文件及函数的编写
【例8 】函数的递归调用:阶乘
1.写好程序,存成my_fact.m文件 写好程序,存成 写好程序 文件 function k=my_fact(n) if n>1 k=n*my_fact(n-1); elseif n==0|n==1 k=1; else error(' U input a wrong parameter!') end 2.在command window中调用:num=my_fact(11) 在 中调用: 中调用 MATLAB函数为: 函数为: 函数为 prod(1:1000)
statements 3
M文件及函数的编写 文件及函数的编写
【例3】 编写 文件求 】 编写M文件求
为何要将第 三种情况放 在最后? 在最后?
>> A=[]; for k=1:5 for j=1:5 if k==j A(k,k)=5; elseif abs(k-j)==1 A(k,j)=1; else A(k,j)=0; end end end
M文件及函数的编写 文件及函数的编写
3. 交互式输入
(1) 用户输入提示命令 用户输入提示命令input input 命令用来接收用户从键盘输入数据、 命令用来接收用户从键盘输入数据、 字符串或表达式,并接收输入值。 字符串或表达式,并接收输入值。其常用格 式: >> R=input (‘How many apples’) 运行此命今后,将给出文字提示,并等待键盘 输入。 >> R=input(‘what is your name ?’,’s’) 运行此命令后,MATLAB将等待输入,并把输入 当做字符串,赋给变量R。
M文件及函数的编写 文件及函数的编写
1.M-script 文件的编写
新建M文件 新建 文件 一般过程 编写指令 调试运行 用户在编制此类文件时,只需把所要执行的命令 按行编辑到指定的文件中,程序运行时, MATLAB按行执行这些指令。
M文件及函数的编写 文件及函数的编写
几点规则: 几点规则:
● 建立好的书写风格,保持程序的可读性。 ● m为文件的扩展名,在低版本的MATLAB中 还要注意文件名不超过8位,文件名和变量的命 名规则相同。 ● 以符号%引导的行是注释行、不可执行, 可供heIp命令查询; ● 不需要用end语句作为M文件的结束标志;
M文件及函数的编写 文件及函数的编写
(1) MATLAB 语言的函数的基本结构
(1)函数定义行(关键字 )函数定义行(关键字function) ) function[out1,out2,..]=funcname(in1,in2,..)
注释段 输入返回变量的检测 函数体语句 •输入和输出(返回)的参数个数分别由 输入和输出( 输入和输出 返回)的参数个数分别由nargin和nargout 和 两个MATLAB保留的变量来给出。 保留的变量来给出。 两个 保留的变量来给出 若一个function作为一个 文件存储,切记其存 作为一个M文件存储 若一个 作为一个 文件存储, 储文件名应和函数名一样! 储文件名应和函数名一样! (2)第一行帮助行, )第一行帮助行, 以(%)开头,作为 )开头,作为lookfor指令搜索的行 指令搜索的行
M文件及函数的编写 文件及函数的编写
分支语句和C语言的区别: 分支语句和C语言的区别:
当开关表达式的值等于某表达式, 当开关表达式的值等于某表达式,执行该语句 后结束该结构, 后结束该结构,不用 break otherwise 语句,不是 default 语句, 程序的执行结果和各个case顺序无关 程序的执行结果和各个 顺序无关 case 语句中条件不能重复,否则列在后面 语句中条件不能重复, 的条件将不能执行
M文件及函数的编写 文件及函数的编写
5 程序设计的优化
虽然MATLAB程序语言高度集成,但由于 程序语言高度集成, 虽然 程序语言高度集成 MATLAB属于解释型语言,在执行效率方面 属于解释型语言, 属于解释型语言 还是存在一些不足,因此,如何优化程序, 还是存在一些不足,因此,如何优化程序, 特别是在大型的运算与仿真中, 特别是在大型的运算与仿真中,是一个很重 要的话题。 要的话题。
M文件及函数的编写 文件及函数的编写
(2)等待用户反应命令 )等待用户反应命令pause 此命令用于使程序暂时终止运行, 此命令用于使程序暂时终止运行,等待用户按任 意键后继续运行。 意键后继续运行。 此函数的调用形式如下: 此函数的调用形式如下: Pause 暂停程序等待回应; 暂停程序等待回应; Pause(n) 程序运行中等待 秒后继续运行; 程序运行中等待n秒后继续运行; 秒后继续运行 Pause on 显示其后的 Pause命令,并且执行 命令, 命令 pause命令; 命令; 命令 Pause off 显示其后的 显示其后的pause命令,但不执 命令, 命令 行该命令。 行该命令。
使用tic和toc函数, 使用 和 函数, 函数 测试一下该函数的运行效率。 测试一下该函数的运行效率。 显式程序运行的时间。 显式程序运行的时间。 tic; num=my_fact(500); toc tic; num=prod(1:1000); toc
M文件及函数的编写 文件及函数的编写
函数编写注意事项: 函数编写注意事项: 函数的函数名与存储名要一致。 函数的函数名与存储名要一致。 函数名首字符必须为字母。 函数名首字符必须为字母。其后可为字 母数字下划线等。长度小于31个字符 个字符。 母数字下划线等。长度小于 个字符。 不推荐在同一文件中,写多个函数。 不推荐在同一文件中,写多个函数。 建议每个函数单独写成一个文件, 建议每个函数单独写成一个文件,由主 程序调用,主程序不要写成函数形式。 程序调用,主程序不要写成函数形式。
M文件及函数的编写 文件及函数的编写
(3)if-else-end 结构 )
if logical expression 1 if logical expression statements 1 statements end elseif logical expression 2 if logical expression statements 1 else else statements 2 end end statements 2
M文件及函数的编写 文件及函数的编写
● 在运行此函数之前,需要把它所在目录加到 MATLAB的搜索路径上去或将文件所在目录设 为当前日录。新版本会提示,老版本则出错。 ● 运行一个程序,有多种方式。
M文件及函数的编写 文件及函数的编写
MATLAB控制流 控制流 (1) for循环结构 ) 循环结构 for循环语句的一 般格式如下: 循环变量 一般为数组
M文件及函数的编写 文件及函数的编写
M文件其实是一个像命令集一样的 文件其实是一个像命令集一样的ASCII(纯文本 纯文本) 文件其实是一个像命令集一样的 纯文本 码文件。正是M文件的这个特点造就了 码文件。正是 文件的这个特点造就了MATLAB 文件的这个特点造就了 强大的可开发性和可扩展性。 强大的可开发性和可扩展性。 命令式(M_Script) 命令式 M文件的两种形式 文件的两种形式 函数式(Function)。 。 函数式 命令式文件就是命令行的简单叠加, 命令式文件就是命令行的简单叠加,MATLAB会 会 自动按顺序执行文件中的命令。 自动按顺序执行文件中的命令。 函数式文件主要用以解决参数传递和函数调用的 问题。 问题。
第二讲 M文件及函数的编写 文件及函数的编写
M文件及函数的编写 文件及函数的编写
MATLAB语言特点: 语言特点: 语言特点
高度简洁, 高度简洁,封装化 一种解释型的编程语言 “读一句,执行一句” 读一句,执行一句” 效率不高, 效率不高,特别在遇到循环语句时 程序运行时离不开MATLAB环境 环境 程序运行时离不开
M文件及函数的编写 文件及函数的编写
(5)try-catch 结构 ) try (commands1) ) catch (commands2) ) end 仅当组命令1出现执行错 仅当组命令 出现执行错 才执行该命令。 误,才执行该命令。 该命令总被执行,若正确, 该命令总被执行,若正确, 则跳出此结构
M文件及函数的编写 文件及函数的编写
(3)中断命令 )中断命令break break语句常常用在循环语句中。通过使用 break语句,可不必等待循环的自然结束,而 根据循环只设的条件来判断是否跳出循环。 (4)等待键盘输入 keyboard ) 使程序进入暂时等待状态,但并没退出执 行,可以修改参数,和运行其他指令等。 (5)显示文字或数组 disp ) testinput.m
M文件及函数的编写 文件及函数的编写
【例 4】 】 检测掷一次骰子所得的点数是单数还是双数: ...(前面可能有一些语句) 前面可能有一些语句) 前面可能有一些语句 switch result case{1,3,5} disp(‘odd numbers’) case{2,4,6} disp(‘even numbers’) otherwise disp (‘ mistake!’) end