我在这里构建的用户定义函数有问题。我要做的是将一个值替换为一个符号函数,然后将该数字答案用于各种目的。具体在这里:
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
我会很感激一些关于我做错了什么的指示;一切顺利。