Matlab - Problema con codigo de Newton Rapson

   
Vista:

Problema con codigo de Newton Rapson

Publicado por Oscar (2 intervenciones) el 02/04/2017 01:03:19
Ayuda por favor no logro que funcione.

Acá esta el codigo

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
function newton(f,x0,tol)
sym x;
df=diff(f,'x');
f=inline(f);
df=inline(char(df));
fprintf('\n it. x f(x) \n')
i=0;
fprintf('%3.0f %10.10f %10.10f \n',i,x0,f(x0))
x1=x0-(f(x0)/df(x0));
while (abs(x0-x1))/x0 >tol;
i=i+1;
fprintf('%3.0f %10.10f %10.10f \n',i,x1,f(x1))
x0=x1;
x1=x0-(f(x0)/df(x0));
end
fprintf('\n La aproximación de la raíz es: %3.10f \n\n',x1)

Estes es el error que me sale
>> newton('1+sin((3.*x)/5)-((5.*x)./3)',0,0.00000001)
Error using diff
Difference order N must be a positive integer scalar.

Error in newton (line 3)
1
df=diff(f,'x');
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de JOSE JEREMIAS CABALLERO

Problema con codigo de Newton Rapson

Publicado por JOSE JEREMIAS CABALLERO jjcc94@hotmail.com (4473 intervenciones) el 02/04/2017 03:28:22
1
2
3
4
5
6
7
8
9
10
>>syms x;   newton(1+sin((3.*x)/5)-((5.*x)./3),0,0.00000001)
 
 
 it. x f(x)
  0 0.0000000000 1.0000000000
  1 0.9375000000 -0.0291973265
  2 0.9123106074 -0.0000604211
  3 0.9122582645 -0.0000000003
 
 La aproximación de la raíz es: 0.9122582643


Saludos
JOSE JEREMIAS CABALLERO
Asesor de Proyectos con Matlab
Servicios de programación matlab


http://matlabcaballero.blogspot.com
https://www.facebook.com/matlabcaballero/
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Problema con codigo de Newton Rapson

Publicado por Oscar (2 intervenciones) el 02/04/2017 08:44:39
Muchas Gracias!!! para terminar de molestar me darías mas detalles.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Revisar política de publicidad