Está en la página 1de 2

Este es el método de Taylor de orden n, para la solución de EDO con VI

Ingrese el orden de la serie de Taylor, n = 3

Ingrese la función EDO y sus derivadas, f = y-t^2+1

Ingrese la función EDO y sus derivadas, f = y-t^2-2*t+1

Ingrese la función EDO y sus derivadas, f = y-t^2-2*t-1

Ingrese la solución exacta, fe = (t+1)^2-0.5*exp(t)

Ingrese el límite inferior del intervalo, a = 0

Ingrese el límite superior del intervalo, b = 2

Ingrese el número de subintervalos N = 5

Ingrese el valor inicial w(0) = 0.5

ti wi Sexacta

0 0.5000 0.5000

0.4000 1.2147 1.2141

0.8000 2.1290 2.1272

1.2000 3.1838 3.1799

1.6000 4.2912 4.2835

2.0000 5.3198 5.3055

% ESTE PROGRAMA RESUELVE UNA EDO CON VI


% APLICANDO LA SERIE DE TAYLOR DE ORDEN n
clear all
clc
syms t y
% PRESENTACIÓN DEL PROGRAMA
disp('Este es el método de Taylor de orden n, para la solución de
EDO con VI')
% SOLICITUD DE DATOS
n = input('Ingrese el orden de la serie de Taylor, n = ');
for i = 1:n
f(i) = input('Ingrese la función EDO y sus derivadas, f = ');
end
fe = input('Ingrese la solución exacta, fe = ');
a = input('Ingrese el límite inferior del intervalo, a = ');
b = input('Ingrese el límite superior del intervalo, b = ');
N = input('Ingrese el número de subintervalos N = ');
w(1) = input('Ingrese el valor inicial w(0) = ');
% P R O C E S O
h = (b-a)/N;
t = a:h:b;
k = length(t);
for i = 2:k
T = 0;
for j = 1:n
fun = f(j);
ftw = inline(fun);
T = T + (h^(j-1)/factorial(j))*ftw(t(i-1),w(i-1));
end
w(i) = w(i-1)+h*T;
end
% Solucion exacta
fet = inline(fe);
for i = 1:k
Sexacta(i) = fet(t(i));
end
disp(' ti wi Sexacta')
coordenadas = [t' w' Sexacta'];
disp(coordenadas)

También podría gustarte