関数をBase関数に渡すと(それを呼び出しましょうf
)、Base関数は、引用符f
を使用せずに関数を認識しません''
。コードは次のとおりです。
function y = test(a, b, n ,f)
if ( rem(n,2) ~= 0 )
error ( 'n is not even' )
end
% create a vector of n+1 linearly spaced numbers from a to b
x = linspace ( a, b, n+1 );
for i = 1:n+1
% store each result at index "i" in X vector
X(i) = feval ( f, x(i) );
end
y=sum(X);
end
そしてこれはf.m
:
function [y] = f (x)
y = 6-6*x^5;
コマンドラインから引用符で囲んで実行すると:
>> [y] = test(0,1,10,'f')
y =
52.7505
しかし、私がそれらを削除すると:
>> [y] = test(0,1,10,f)
Error using f (line 2)
Not enough input arguments.
私の間違いはどこにありますか?なぜ実行できないの[y] = test(0,1,10,f)
ですか?
ありがとう