Octave:在函数文件中调用函数

时间:2013-10-17 23:03:22

标签: function octave

是否可以在文件函数定义文件中调用函数?我很好奇。谢谢你的回答。

%It would prove efficient to write a function since we are going
%to do the same thing twice.
function fleas(N);
clear totalflea;
%The below vector is for plotting purposes only.
Nvector = linspace(0, N, N + 1);
%Define the flea vector as follows:
%The value 0 correspond to a fleas residing on dog B 
%(Burnside);thus initially all fleas are on Burnside.
totalflea(1) = 0;
%Since initially we do not have any fleas on Burnside.
fv = zeros(1,50);
for n = 1 : N;
k = randi(50);
%The above code generates a random integer between 1 and 50.
%The code has been implemented in Octave 3.4.
switch fv(k)
    case 0
    fv(k) = 1;
    case 1
    fv(k) = 0;
end
%The above statement changes the values of fv(k) depending
%on its initial value. The possible values are 0 or 1.
totalflea(n + 1) = sum(fv);
endfor
%The following lines are there to depict two standard deviations away
%from the mean value of 25. The standard deviation of a discrete binomial
%variable is found in "Introduction to Probability" by Bertsekas and
%Tsitsiklis. The 2 SD barrier is as follows:
sdp = ones(1, N + 1)*(25 + 2*sqrt(50)/2);
sdm = ones(1, N + 1)*(25 - 2*sqrt(50)/2);
plot (Nvector, totalflea, Nvector, sdp , "1", Nvector, sdm, "1");
% "1" is supplied as an optional argument to determine the color 
%of the graph.
xlabel('Time Steps')
ylabel('Fleas on Anik')
xrange 
endfunction

这样可以正常工作,但是当我将文件跳蚤(500)附加到文件的末尾时,我得到一个解析错误。当我在文件的开头添加它时,我收到以下错误:

warning: function 'fleas' defined within script file '/home/ongun/Desktop/Dropbox/Computational Physics/Codes/fleas.m'
error: invalid use of script /home/ongun/Desktop/Dropbox/Computational Physics/Codes/fleas.m in index expression

1 个答案:

答案 0 :(得分:4)

在八度音程中,您可以创建函数文件或脚本文件。我会简化一下:

为每个函数创建一个具有相同名称的文件。以function ...开头,endfunction

如果要调用函数,可以使用命令行或创建脚本文件。脚本文件不包含任何函数定义,只需编写要执行的命令即可。

因此,您必须创建包含fleas(500)的第二个文件,或者从命令行调用它。