Conversion to logical from sym is not possible? please help

2 visualizaciones (últimos 30 días)
Abdurahman Itani
Abdurahman Itani el 25 de Sept. de 2017
Comentada: Walter Roberson el 25 de Sept. de 2017
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
Abdurahman Itani
Abdurahman Itani el 25 de Sept. de 2017
what does matlabfunction() do ? how can I use it?
Walter Roberson
Walter Roberson el 25 de Sept. de 2017
"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.

Community Treasure Hunt

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

Start Hunting!

Translated by