MATLAB 程序设计
M文件的功能和特点
MATLAB是解释性语言
语法简单
调试容易
人机交互性强
开放性、可扩展性强
1
M 文件的形式
命令文件
有效指令的集合
以文件名直接调用运行
如:run aaa2
函数文件
格式
命名
参数和结果
注释的作用
2
M脚本文件
对于一些比较简单的问题,在指令窗中直接输入指令计算。
对于复杂计算,采用脚本文件(Script file)最为合适。
MATLAB只是按文件所写的指令执行。
M脚本文件的特点是:
脚本文件的构成比较简单,只是一串按用户意图排列而成的(包括控制流向指令在内的)MATLAB指令集合。
脚本文件运行后,所产生的所有变量都驻留在 MATLAB基本工作空间(Base workspace)中。只要用户不使用清除指令(clear), MATLAB指令窗不关闭,这些变量将一直保存在基本工作空间中。
M文件有两种形式:脚本文件(Script File)和函数文件(Function File )。这两种文件的扩展名,均为“. m”。
脚本文件和函数文件
3
M脚本文件实例
通过M脚本文件,画出下列分段函数所表示的曲面。
4
% This is my first example.
a=2;b=2;
clf;
x=-a::a;y=-b::b;
for i=1:length(y)
for j=1:length(x)
if x(j)+y(i)>1
z(i,j)=*exp(-*y(i)^2-*x(j)^2-*x(j));
elseif x(j)+y(i)<=-1
z(i,j)=*exp(-*y(i)^2-*x(j)^2+*x(j));
else z(i,j)=*exp(-y(i)^2-6.*x(j)^2);
end
end
end
axis([-a,a,-b,b,min(min(z)),max(max(z))]);
colormap(flipud(winter));surf(x,y,z);
5
与脚本文件不同,函数文件犹如一个“黑箱”,把一些数据送进并经加工处理,再把结果送出来。
MATLAB提供的函数指令大部分都是由函数文件定义的。
M函数文件的特点是:
从形式上看,与脚本文件不同,函数文件的笫一行总是以“function”引导的“函数申明行”。
从运行上看,与脚本文件运行不同,每当函数文件运行, MATLAB就会专门为它开辟一个临时工作空间,称为函数工作空间( Function workspace) 。当执行文件最后一条指令时,就结束该函数文件的运行,同时该临时函数空间及其所有的中间变量就立即被清除。
MATLAB允许使用比“标称数目”较少的输入输出宗量,实现对函数的调用。
M函数文件
6
由于从结构上看,脚本文件只是比函数文件少一个“函数申明行”,所以只须描述清楚函数文件的结构。
典型 M函数文件的结构如下:
函数申明行:位于函数文件的首行,以关键字 function开头,函数名以及函数的输入输出宗量都在这一行被定义。
笫一注释行:紧随函数申明行之后以%开头笫一注释行。该行供lookfor关键词查询和 help在线帮助使用。
在线帮助文本区:笫一注释行及其之后的连续以%开头的所有注释行构成整个在线帮助文本。
编写和修改记录:与在线帮助文本区相隔一个“空”行,也以%开头,标志编写及修改该M文件的作者和日期等。
函数体:为清晰起见,它与前面的注释以“空”行相隔。
M文件的一般结构
7
M函数文件示例
function E=twoexps(a,x,y)
% 计算二乘残差的程序
x=x(:);y=y(:);Y=a(1)*exp(-a(3)*x)+a(2)*exp(-a(4)*x);
E=sum((y-Y).^2);
8
局部变量和全局变量
局部(Local)变量:它存在于函数空间内部的中间变量,产生于该函数的运行过程中,其影响范围也仅限于该函数本身。
全局(Global)变量:通过 global 指令,MATLAB也允许几个不同的函数空间以及基本工作空间共享同一个变量,这种被共享的变量称为全局变量。
函数调用
在MATLAB中,调用函数的常用形式是:
[输出参数1,输出参数2,…] = 函数名(输入参数1,输入参数2, …)
函数调用可以嵌套,一个函数可以调用别的函数,甚至调用它自己(递归调用)。
函数调用和参数传递
9
函数调用和变量传递
函数调用
函数声明
函数调用
Function [out1,out2]=functionn
matlab4 来自淘豆网m.daumloan.com转载请标明出处.