MATLAB を使用して、別の関数内で作成した関数を区別しようとする小さなプログラムを作成しようとしていますが、エラーが発生し続けます。
私のファイルは次のとおりです。
newton.m:
function [ y, iter ] = newton( f, fp, x0 )
iter = 0;
xprev = x0;
x = xprev - f(xprev)/fp(xprev);
iter = iter + 1;
while abs(x-xprev) > eps*abs(x)
xprev = x;
x = x - f(x)/fp(x);
iter = iter + 1;
y = x;
end
end
fm:
function y = f(x)
y = tan(x) - 2*x;
end
fp.m:
function y = fp(f)
y = diff(f);
end
私は以下を実行しています:
[y, iter] = newton(@f, @fp, 1.4)
そして取得:
使用エラー /
マトリックスの次元は一致する必要があります。newton のエラー (6 行目) x = xprev - f(xprev)/fp(xprev);
y
fp.m での値をチェックしていると、取得し続け[]
ます。