MATLAB中M文件编写

简介

所谓M文件就是将处理问题的各种命令融合到一个文件中,该文件以.m为扩展名。然后,由MATLAB系统编译M文件,得出相应的运行结果。M文件具有相当大的可开发性和扩展性。M文件有脚本文件和函数文件两种。脚本文件不需要输入参数,也不输出参数,而会按照文件中指定的顺序执行命令序列。而函数文件则接受其他数据为输入参数,并且可以返回结果。

脚本式M文件

避免用户输入较多命令,避免重复输入命令,打开该类M文件,单击运行或者按下F5按键,即可运行该类文件

a=2;
b=2; 
clf;
x=-a:0.2:a;y=-b:0.2:b;
for i=1:length(y)
    for j=1:length(x)
        if x(j)+y(i)>1
            z(i,j)=0.5457*exp(-0.75*y(i)^2-3.75*x(j)^2-1.5*x(j));
        elseif x(j)+y(i)<=-1
            z(i,j)=0.5457*exp(-0.75*y(i)^2-3.75*x(j)^2+1.5*x(j));
            else z(i,j)=0.7575*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);

运行结果,参考如下图片

MATLAB中M文件编写_第1张图片

函数式M文件

函数式M文件比脚本式M文件相对复杂一些,脚本式M文件不需要输入变量,也不一定返回结果,而函数式M文件一般要输入变量,并且有返回结果。举例使用M文件计算向量的平均值。

输入如下代码,保存average.m

function y = average(x)
% AVERAGE Mean of vector elements.
% AVERAGE(X), where X is a vector, is the mean of vector
% elements. Nonvector input results in an error.
[m,n] = size(x);
if (~((m == 1) | (n == 1)) | (m == 1 & n == 1))
    error('Input must be a vector')                 %  错误信息
end
y = sum(x)/length(x);     

调用过程

A = 1:99

B = average(A)

结果如下图所示

MATLAB中M文件编写_第2张图片

实际代码存放以及编写如下图所示 

MATLAB中M文件编写_第3张图片

你可能感兴趣的:(MATLAB,嵌入式系统,matlab,M文件)