function命名不能数字开头,大小写是有区别的。
脚本(script)是最简单的MATLAB程序,包括序列运行的命令
使用edit命令可以创建脚本
edit mysphere % 这样就可以创建一个文件名为mysphere的脚本
输入以下代码,生成50个随机数,并画图,且在图中标出平均数。
n = 50;
r = rand(n,1);
plot(r)
m = mean(r);
hold on
plot([0,n],[m,m])
hold off
title( Mean of Random Uniform Data )
function可以被调用,不用打开,跟script不一样
edit(which( mean.m ))
使用这个命令可以查看function的代码,上面的命令表明使用这个语句看mean这个函数的代码,结果如下所示。
function是keyword,y是输出,mean是程序名称,也是文件名称,x是输入。 必定要有keyword才能在matlab中进行调用。
function y = mean(x,dim)
% MEAN Average or mean value.
% For vectors, MEAN(X) is the mean value of the elements in X. For
% matrices, MEAN(X) is a row vector containing the mean value of
% each column. For N-D arrays, MEAN(X) is the mean value of the
% elements along the first non-singleton dimension of X.
% MEAN(X,DIM) takes the mean along the dimension DIM of X.
% Example: If X = [1 2 3; 3 3 6; 4 6 8; 4 7 7];
% then mean(X,1) is [3.0000 4.5000 6.0000] and
% mean(X,2) is [2.0000 4.0000 6.0000 6.0000].
% Class support for input X:
% float: double, single
% See also MEDIAN, STD, MIN, MAX, VAR, COV, MODE.
% Copyright 1984-2009 The MathWorks, Inc.
% $Revision: 5.17.4.5 $ $Date: 2010/09/02 13:35:22 $
if nargin==1,
% Determine which dimension SUM will use
dim = find(size(x)~=1, 1 );
if isempty(dim), dim = 1; end
y = sum(x)/size(x,dim);
else
y = sum(x,dim)/size(x,dim);
end
创建自己的function
创建一个计算自由落体运动的function
function x = freebody(x0,v0,t)
x = x0 + v0.*t + 0.5*9.8*t.*t;
这里使用点乘t.*t,而不是使用t^2,是由于点乘是element-wise的计算方式,可以对矩阵进行运算。我们可以有多个
x0、v0、和t的输入,这个function可以同时算多个结果,就不用一次一次的进行计算了。
如freebody([0 2],[0 8],[10 27]),可同时计算freebody(0,0,10)和freebody(2,8,27)的结果。
创建一个有多个输入和多个输出的function,加速度和力的function
function [a F] = acc(v2, v1, t2, t1, m)
a = (v2-v1)./(t2-t1);
F = m.*a;
在这个function,有a和F两个输出(多个输出以向量显示),还有v2等5个输入
在运行时,可以采用以下的方式,这样就可以把a和F指定给中括号中的两个名称。
>> [Acc Force] = acc(20,10,5,4,1)
Acc =
10
Force =
10
















暂无评论内容