Conversion to logical from sym is not possible? please help

I am trying to build a newton raphson program to solve nonlinear equations. this is the function. for some reason i cant get it to work.
% Program Code of Newton-Raphson Method in MATLAB
a=input('Enter the function in the form of variable x:','s');
x(1)=input('Enter Initial Guess:');
error=input('Enter allowed Error:');
f=inline(a)
dif=diff(sym(a));
d=inline(dif);
for i=1:100
x(i+1)=x(i)-((f(x(i))/d(x(i))));
err(i)=abs((x(i+1)-x(i))/x(i));
if err(i)<error
break
end
end
root=x(i)
here is my script to call the function
where i recieve the error message.
syms x
y =@(x)(exp((x-2)^2)-2);
%dy = diff(y(x));
hello(y,0,0.001)

Respuestas (1)

Walter Roberson
Walter Roberson el 25 de Sept. de 2017
Using inline() is not recommended unless you are stuck at MATLAB 5.0 or earlier. Use matlabFunction() instead for this case.

2 comentarios

what does matlabfunction() do ? how can I use it?
"g = matlabFunction(f) converts the symbolic expression or function f to a MATLAB® function with handle g. The function can be used without Symbolic Math Toolbox™."

Iniciar sesión para comentar.

Preguntada:

el 25 de Sept. de 2017

Comentada:

el 25 de Sept. de 2017

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by