ここで構築しているユーザー定義関数に問題があります。私がやろうとしているのは、値をシンボリック関数に代入し、その数値の答えをさまざまな目的に使用することです。具体的には次のとおりです。
x = xo;
subst = subs(f,x);
while((n>i) && (subst > eps))
プログラムを実行すると、次のエラーが表示されます。
>> sym_newtonRaphson(f,fdiff,1,1e-8,10)
Conversion to logical from sym is not possible.
Error in sym_newtonRaphson (line 8)
使ってみましdouble(subs(f,x))
たがダメでした。MuPAD に関連するまったく別のエラーが発生しているようです ( DOUBLE cannot convert the input expression into a double array.
)
以下がプログラム全体です。
function [output] = sym_newtonRaphson(f,fdiff,xo,eps,n)
i = 0;
%initial iteration
x = xo;
subst = subs(f,x);
while((n>i) && (subst > eps))
x = x - (subs(f,x))/fdiff;
i = i+1;
subst = subs(f,x);
%fprintf('%f\t%f\t%f\t%f\t%f\t%f',i,alpha,f(
end
output = x;
end
私が間違っていることについてのいくつかの指針をいただければ幸いです。ではごきげんよう。