Utilizamos cookies propias y de terceros para mejorar la experiencia de navegación, y ofrecer contenidos y publicidad de interés.
Al continuar con la navegación entendemos que se acepta nuestra política de cookies.
Iniciar sesión Cerrar
Correo:
Contraseña:
Entrar
Recordar sesión en este navegador
Iniciar sesiónIniciar sesiónCrear cuentaCrear cuenta

Matlab - serie de taylor para cualquier funcion

  Imprimir  
Vista:

serie de taylor para cualquier funcion

Publicado por pous (4 intervenciones) el 11/06/2013 22:42:30
Estoy intentando escribir un algoritmo que resuelva la serie de Taylor para cualquier funcion. Sin embargo hasta el momento aun no me funciona. agradecere cualquier ayuda.
Lo que llevo hasta el momento es:


clear all
close all
clc
format longG
syms x

f = inline(input('f(x): ','s'));
x1 = input('X(i): ');
x2 = input('X(i+1): ');
n = input('Número de Orden: ');
h = x2 - x1;

v1 = f(x1);
v2 = f(x2);
et = abs((v2 - v1)/v2 * 100);

X = [0 v1 0 et];

for i = 1:n

d = diff(sym(f(x1),i));
v1 = v1 + (d*((h^i)/factorial(i)));
et = abs(((v2 - v1)/v2) * 100);
X(i+1,1) = i;
X(i+1,2) = v1;
ea = abs((X(i+1,2)-X(i,2))/X(i,2)*100);
X(i+1,3) = ea;
X(i+1,4) = et;

if ea <= 0
break
end
end
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
información
Otras secciones de LWP con contenido de Matlab
Imágen de perfil de JOSE JEREMIAS CABALLERO

serie de taylor para cualquier funcion

Publicado por JOSE JEREMIAS CABALLERO jjcc94@hotmail.com (2621 intervenciones) el 12/06/2013 01:18:48
Solo he hecho que el código se ejecute, ahora que el resultado que arroje sea correcto, eso falta verificar.

clear all clc syms x fun=input('f(x): '); f = inline(fun); x1 = input('X(i): '); x2 = input('X(i+1): '); n = input('Número de Orden: '); h = abs(x2 - x1); v1 = f(x1); v2 = f(x2); et = abs((v2 - v1)/v2 * 100); X(1,:) = [0 v1 0 et]; for i=1:n X(i+1,1) = i; D = diff(fun,i); d1=inline(D); d=d1(x1); v1= v1+(d*((h^i)/factorial(i))); X(i+1,2) = v1; et=abs(((v2-v1)/v2)*100); X(i+1,4) = et; ea = abs((X(i+1,2)-X(i,2))/X(i,2)*100); X(i+1,3) = ea; if ea <=10^(-1) break end end X


Saludos.
JOSE JEREMÍAS CABALLERO
Asesorías en Matlab
programador en matlab
Servicios de programación matlab
jjcc94@hotmail.com

http://matlabcaballero.blogspot.com

http://www.lawebdelprogramador.com/foros/Matlab/1371532-FORMA_DE_APRENDER_MATLAB.html
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

serie de taylor para cualquier funcion

Publicado por pous (4 intervenciones) el 12/06/2013 03:01:16
Muchas gracias!
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

serie de taylor para cualquier funcion

Publicado por Julio (1 intervención) el 12/09/2014 15:46:07
Puede utilizar la herramienta taylortool de de matlab, donde le ejecuta todos los algoritmos
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
Imágen de perfil de JOSE JEREMIAS CABALLERO

serie de taylor para cualquier funcion

Publicado por JOSE JEREMIAS CABALLERO jjcc94@hotmail.com (2621 intervenciones) el 12/09/2014 16:14:24
El objetivo al parecer es hacer un código propio la serie de Taylor. Es decir a ejercitarse en el programación. La herramienta Taylortool lo podría usar para poder hacer comparaciones de sus resultados.
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