UNIVERSIDAD NACIONAL DE COLOMBIA
FACULTAD DE INGENIERÍA
DEPARTAMENTO DE INGENIERÍA DE SISTEMAS E INDUSTRIAL
MÉTODOS NUMÉRICOS
MÓDULO 6
ECUACIONES DIFERENCIALES ORDINARIAS
1. INTRODUCCIÓN
Las ecuaciones diferenciales las cuales se usan para construir modelos matemáticos de
problemas de la ciencia y la energía a menudo se da el caso de que no hay una solución
analítica conocida, por lo que se necesitan aproximaciones numéricas. Lo que normalmente
se puede medir es como los cambios de una variable afectan a otra variable; cuando se
traduce esto a un modelo matemático, el resultado es una ecuación diferencial que
involucra la velocidad de cambio de la función desconocida, la variable dependiente e
independiente.
Las ecuaciones diferenciales ordinarias que modelan una realidad específica, aumentan su
complejidad en la medida que se aproximen cada vez mas al comportamiento del objeto o
fenomeno de estudio, razon por la cual en la mayoria de los casos hallar su solucion por
metodos analiticos es imposible lo que nos lleva a utilizar los métodos numéricos.
Mediante el siguiente laboratorio se pretende desarrollar por medio del uso de la
herramienta de programación Scilab diferentes problemas los cuales incluyen la resolución
de ecuaciones diferenciales ordinarias las cuales se dividen en dos tipos de problema
principalmente, con condiciones iniciales y problemas de contorno.
2. OBJETIVOS
Conocer y entender los diferentes métodos existentes para el desarrollo de
problemas de valor inicial y problemas de contorno de las ecuaciones diferenciales,
y aplicarlos usando su implementación en Scilab.
Lograr que el estudiante desarrolle cierta capacidad para analizar y escoger, de
entre los métodos disponibles para resolver problemas, cual es el más eficiente.
Ofrecer al estudiante ejemplos de aplicación que ilustren de una manera simple la
forma como funcionan los algoritmos que se estudian en el curso.
Comprender como se desarrolla el programa Scilab a través de los códigos creados
para obtener una respuesta óptima.
Vincular la actividad teórica con la práctica para generar un conocimiento integral
que pueda ser implementado como una herramienta en la solución de problemas
que estén vinculados a la ingeniería.
3. MARCO TEÓRICO
Una ecuacion diferencial ordinaria es aquella que involucra una variable independiente, una
variable dependiente y la derivada de esta ultima. En una ecuacion diferencial, la incognita
es la variable dependiente y se espera encontrarla como funcion de la variable
independiente, de tal forma que si se sustituye dich variable dependiente, asi como las
derivadas que aparecen en la ecuacion diferencial, la igualada es verdadera.
Usualmente estas ecuaciones estan acompañadas de una condicion adicional que
especifica el estado del sistema en un tiempo o posicion incial. Esto se conoce como
condicion inicial y junto con la ecuacion diferencial forman lo que se conoce como el
problema de valor incial.
Problemas de Valor Inicial
- Método de Euler:
El Método de Euler o de las Tangentes constituye el primer y más sencillo ejemplo de
método numérico para la resolución de un problema de valor inicial:
Donde suponemos además que se verifican las hipótesis del Teorema de Picard, y en
consecuencia existe solución única para el problema.
Interpretando la e.d.o. y’=f(x, y) como un campo de direcciones en el plano x – y, y la
condición inicial y(x0) = y0 como un punto (x0, y0) de dicho plano, podemos aproximar
la función solución y(x) por medio de la recta tangente a la misma que pasa por ese
punto:
y(x) ∼= y0 + f(x0, y0)(x − x0)
Calculamos así de manera aproximada el valor de la solución y en el punto de abscisa
x1 como:
y(x1) ∼= y1 = y0 + f(x0, y0)(x1 − x0)
Y con este punto (aproximado) ya calculado, podemos repetir el método para obtener
otro punto aproximado (x2, y2) de la forma:
y(x2) ∼= y2 = y1 + f(x1, y1)(x2 − x1)
Y así sucesivamente. Es habitual en este método tomar abscisas equiespaciadas, es
decir, calcular la solución aproximada en puntos de la forma: xn = xn−1 + h = x0 + nh,
siendo h el paso del método. De esta forma se obtienen las fórmulas que nos determinan
la solución aproximada en la forma:
xn = xn−1 + h; yn = yn−1 + f(xn−1, yn−1) h
Desde el punto de vista geométrico, tenemos en definitiva que el Método de Euler
aproxima a la función solución por medio de una línea poligonal, la aproximación será
tanto peor cuanto mayor sea en número de pasos, es decir, cuanto más “lejos” nos
encontremos del punto inicial (x0, y0). Por otro lado, el error será evidentemente tanto
mayor cuanto más grande sea el “paso” del método, h.
- Métodos de Runge-Kutta (RK):
La idea general de los Métodos de Runge-Kutta es sustituir el Problema de Valor Inicial:
por la ecuación integral equivalente:
Para proceder a aproximar esta ´ultima integral mediante un método numérico adecuado
(recordemos que y(x) es desconocida). Si nuevamente planteamos el problema “paso a
paso” tendremos:
Método de Runge-Kutta de orden superior:
- Sistemas de Ecuaciones Diferenciales:
Los métodos de Euler y de Runge-Kutta que se han planteado se aplican de manera
sencilla a sistemas de ecuaciones de primer orden, y, en consecuencia, a ecuaciones
de orden superior al primero.
Método de Euler aplicado a un sistema de dos ecuaciones de primer orden:
La extensión natural del método ya expuesto nos conduce a las expresiones:
Problemas de Contorno
- Método del Disparo Lineal:
Sea la ecuación diferencial de segundo orden con condiciones de frontera:
Consiste en transformar el problema de valor frontera en un problema de valor inicial,
suponiendo una pendiente s, luego se desarrolla un método numérico para encontrar
uN(s), se compara con B, si estos valores no son aproximados se sigue suponiendo
pendientes hasta dar en el blanco B.
El problema de valor inicial resultante:
Bbu
utu
uutgu
00
',,"
stu
utu
uutgu
0
00
'
',,"
- Método de las Diferencias Finitas:
Sea la ecuación diferencial ordinaria de segundo orden:
Dividiendo el intervalo en (n+1) partes iguales
Sean las fórmulas de diferenciación numérica para la primera y segunda derivada
byay
bax
xryxqyxpy
,
'''
111100
1210 2
1
nnnn
n
yxyyxyyxyyxy
bxhaxhaxax
n
abh
2
11
11
2''
2'
h
yyyy
h
yyy
iiii
iii
Reemplazando en la ecuación diferencial para cada nodo i=1, 2,…, n:
Se tendrá un sistema de n ecuaciones con n incógnitas:
Agrupando:
iiiiii xryxqyxpy '''
1
0
11
2
11
2
2
:1
n
iiiii
iiii
y
y
xryxqh
yyxp
h
yyy
niPara
1
0
2
1
2
12
122
1
:1
n
iiiiiii
y
y
xrhyxph
yxqhyxph
niPara
1
0
2
1
2
1
2
2
3222
2
12
1
2
2111
2
01
212
21
212
21
212
21
n
nnnnnnn
y
y
xrhyxph
yxqhyxph
xrhyxph
yxqhyxph
xrhyxph
yxqhyxph
4. RESULTADOS
Punto 1:
-Código:
clc disp(' UNIVERSIDAD NACIONAL DE COLOMBIA ') disp(' Asignatura: Métodos Numéricos Grupo: 4') disp('Presentado por: Jefferson Fabian Cano Benitez ') disp(' Karol Johanna Fernandez Carreño') disp(' Daniela Alejandra Morales Herrera')
disp(" ** Laboratorio Seis - Grupo 04 ** ") // Según sea el caso disp("Codigos: 2879824 215559 215548") // En concordancia con los participantes ww=getdate(); mprintf( "AA:%d ,MM:%d ,DD:%d a las HH:%d ,MM:%d ,SS:%d ",ww(1),ww(2),ww(6),ww(7),ww(8),ww(9)); disp('');
function [yt]=devy(t, y, z); yt=z;
endfunction function [zt]=devz(t, y, z); zt=-200*y-20*z; endfunction function [A]=ffun(t, y, z, h); A=zeros(2,4);
X=zeros(4,3); X(1,1)=t; X(1,2)=y; X(1,3)=z; A(1,1)=devy(X(1,1),X(1,2),X(1,3)); A(2,1)=devz(X(1,1),X(1,2),X(1,3));
X(2,1)=X(1,1)+h/2; X(2,2)=X(1,2)+h/2*A(1,1); X(2,3)=X(1,3)+h/2*A(2,1); A(1,2)=devy(X(2,1),X(2,2),X(2,3)); A(2,2)=devz(X(2,1),X(2,2),X(2,3)); X(3,1)=X(1,1)+h/2;
X(3,2)=X(1,2)+h/2*A(1,2); X(3,3)=X(1,3)+h/2*A(2,2); A(1,3)=devy(X(3,1),X(3,2),X(3,3)); A(2,3)=devz(X(3,1),X(3,2),X(3,3)); X(4,1)=X(1,1)+h; X(4,2)=X(1,2)+h*A(1,3);
X(4,3)=X(1,3)+h*A(2,3); A(1,4)=devy(X(4,1),X(4,2),X(4,3)); A(2,4)=devz(X(4,1),X(4,2),X(4,3)); endfunction function resorte()
y=1; z=0; t=0; h=0.01; F=zeros(5,4); G=zeros(5,4); T=zeros(6,1);
Y=zeros(6,1); Z=zeros(6,1); A=zeros(4,2); T(1,1)=t; Y(1,1)=y; Z(1,1)=z;
for (k=1:5)
A=ffun(T(k,1),Y(k,1),Z(k,1),h); for (n=1:4) F(k,n)=A(1,n);
G(k,n)=A(2,n); end T(k+1,1)=T(k,1)+h; Y(k+1,1)=Y(k,1)+h/6*(F(k,1)+2*F(k,2)+2*F(k,3)+F(k,4)); Z(k+1,1)=Z(k,1)+h/6*(G(k,1)+2*G(k,2)+2*G(k,3)+G(k,4)); end disp(Y(1,1));
disp(Y(6,1)); disp(F); disp(G); endfunction
Punto 2:
-Código:
clc disp(' UNIVERSIDAD NACIONAL DE COLOMBIA ') disp(' Asignatura: Métodos Numéricos Grupo: 4') disp('Presentado por: Jefferson Fabian Cano Benitez ') disp(' Karol Johanna Fernandez Carreño')
disp(' Daniela Alejandra Morales Herrera') disp(" ** Laboratorio Seis - Grupo 04 ** ") // Según sea el caso disp("Codigos: 2879824 215559 215548") // En concordancia con los participantes ww=getdate(); mprintf( "AA:%d ,MM:%d ,DD:%d a las HH:%d ,MM:%d ,SS:%d ",ww(1),ww(2),ww(6),ww(7),ww(8),ww(9)); disp(''); function [pt]=funp(t);
pt=2; endfunction function [qt]=funq(t); qt=-1; endfunction function [rt]=funr(t);
rt=t.^2-1; endfunction function [ut]=devu(t, u, y); ut=y; endfunction function [yt]=devy(t, u, y);
yt=funp(t)*y+funq(t)*u+funr(t); endfunction function [vt]=devv(t, v, z); vt=z; endfunction function [zt]=devz(t, v, z);
zt=funp(t)*z+funq(t)*v; endfunction function [A]=fiteu(t, u, y, h); A=zeros(2,4); X=zeros(4,3);
X(1,1)=t; X(1,2)=u; X(1,3)=y;
A(1,1)=devu(X(1,1),X(1,2),X(1,3)); A(2,1)=devy(X(1,1),X(1,2),X(1,3)); X(2,1)=X(1,1)+h/2; X(2,2)=X(1,2)+h/2*A(1,1); X(2,3)=X(1,3)+h/2*A(2,1);
A(1,2)=devu(X(2,1),X(2,2),X(2,3)); A(2,2)=devy(X(2,1),X(2,2),X(2,3)); X(3,1)=X(1,1)+h/2; X(3,2)=X(1,2)+h/2*A(1,2); X(3,3)=X(1,3)+h/2*A(2,2); A(1,3)=devu(X(3,1),X(3,2),X(3,3));
A(2,3)=devy(X(3,1),X(3,2),X(3,3)); X(4,1)=X(1,1)+h; X(4,2)=X(1,2)+h*A(1,3); X(4,3)=X(1,3)+h*A(2,3); A(1,4)=devu(X(4,1),X(4,2),X(4,3)); A(2,4)=devy(X(4,1),X(4,2),X(4,3));
endfunction function [B]=fitev(t, v, z, h); B=zeros(2,4); X=zeros(4,3); X(1,1)=t; X(1,2)=v;
X(1,3)=z; B(1,1)=devv(X(1,1),X(1,2),X(1,3)); B(2,1)=devz(X(1,1),X(1,2),X(1,3)); X(2,1)=X(1,1)+h/2; X(2,2)=X(1,2)+h/2*B(1,1); X(2,3)=X(1,3)+h/2*B(2,1);
B(1,2)=devv(X(2,1),X(2,2),X(2,3)); B(2,2)=devz(X(2,1),X(2,2),X(2,3)); X(3,1)=X(1,1)+h/2; X(3,2)=X(1,2)+h/2*B(1,2); X(3,3)=X(1,3)+h/2*B(2,2);
B(1,3)=devv(X(3,1),X(3,2),X(3,3)); B(2,3)=devz(X(3,1),X(3,2),X(3,3)); X(4,1)=X(1,1)+h; X(4,2)=X(1,2)+h*B(1,3); X(4,3)=X(1,3)+h*B(2,3); B(1,4)=devv(X(4,1),X(4,2),X(4,3)); B(2,4)=devz(X(4,1),X(4,2),X(4,3));
endfunction function probcontor()
a=0; b=1; H=[0.1 0.01] xa=5; xb=10; u=5;
y=0; v=0; z=1; t=0; F11=zeros((b-a)/H(1),4); G11=zeros((b-a)/H(1),4); F21=zeros((b-a)/H(1),4);
G21=zeros((b-a)/H(1),4); Var11=zeros((b-a)/H(1)+1,3); Var21=zeros((b-a)/H(1)+1,3); X1=zeros((b-a)/H(1)+1,1); F12=zeros((b-a)/H(2),4); G12=zeros((b-a)/H(2),4); F22=zeros((b-a)/H(2),4);
G22=zeros((b-a)/H(2),4); Var12=zeros((b-a)/H(2)+1,3); Var22=zeros((b-a)/H(2)+1,3); X2=zeros((b-a)/H(2)+1,1); A=zeros(4,2); B=zeros(4,2);
Var11(1,1)=t; Var11(1,2)=u; Var11(1,3)=y; Var21(1,1)=t; Var21(1,2)=v; Var21(1,3)=z;
Var12(1,1)=t; Var12(1,2)=u; Var12(1,3)=y; Var22(1,1)=t; Var22(1,2)=v; Var22(1,3)=z;
for (k=1:(b-a)/H(1)) A=fiteu(Var11(k,1),Var11(k,2),Var11(k,3),H(1)); B=fitev(Var21(k,1),Var21(k,2),Var21(k,3),H(1)); for (n=1:4) F11(k,n)=A(1,n); G11(k,n)=A(2,n); F21(k,n)=B(1,n);
G21(k,n)=B(2,n);
end Var11(k+1,1)=Var11(k,1)+H(1); Var11(k+1,2)=Var11(k,2)+H(1)/6*(F11(k,1)+2*F11(k,2)+2*F11(k,3)+F11(k,4));
Var11(k+1,3)=Var11(k,3)+H(1)/6*(G11(k,1)+2*G11(k,2)+2*G11(k,3)+G11(k,4)); Var21(k+1,1)=Var21(k,1)+H(1); Var21(k+1,2)=Var21(k,2)+H(1)/6*(F21(k,1)+2*F21(k,2)+2*F21(k,3)+F21(k,4)); Var21(k+1,3)=Var21(k,3)+H(1)/6*(G21(k,1)+2*G21(k,2)+2*G21(k,3)+G21(k,4)); end c1=(xb-Var11((b-a)/H(1)+1,2))/Var21((b-a)/H(1)+1,2);
for (k=1:(b-a)/H(1)+1) X1(k,1)=Var11(k,2)+c1*Var21(k,2); end for (k=1:(b-a)/H(2)) A=fiteu(Var12(k,1),Var12(k,2),Var12(k,3),H(1)); B=fitev(Var22(k,1),Var22(k,2),Var22(k,3),H(1)); for (n=1:4)
F12(k,n)=A(1,n); G12(k,n)=A(2,n); F22(k,n)=B(1,n); G22(k,n)=B(2,n); end Var12(k+1,1)=Var12(k,1)+H(2); Var12(k+1,2)=Var12(k,2)+H(2)/6*(F12(k,1)+2*F12(k,2)+2*F12(k,3)+F12(k,4)); Var12(k+1,3)=Var12(k,3)+H(2)/6*(G12(k,1)+2*G12(k,2)+2*G12(k,3)+G12(k,4)); Var22(k+1,1)=Var22(k,1)+H(2);
Var22(k+1,2)=Var22(k,2)+H(2)/6*(F22(k,1)+2*F22(k,2)+2*F22(k,3)+F22(k,4)); Var22(k+1,3)=Var22(k,3)+H(2)/6*(G22(k,1)+2*G22(k,2)+2*G22(k,3)+G22(k,4)); end c2=(xb-Var12((b-a)/H(2)+1,2))/Var22((b-a)/H(2)+1,2); for (k=1:(b-a)/H(2)+1) X2(k,1)=Var12(k,2)+c2*Var22(k,2);
end disp(X1(1,1)); disp(X1((b-a)/H(1)+1,1)); disp(X2(1,1)); disp(X2((b-a)/H(2)+1,1)); for (k=1:(b-a)/H(1)+1)
x1(k)=Var11(k,1); y1(k)=X1(k,1); end for (k=1:(b-a)/H(2)+1) x2(k)=Var12(k,1); y2(k)=X2(k,1); end
x=[0:0.01:1]'; plot(x2, y2, 'ro'); plot(x1, y1, 'ko'); plot(x, x.^2+4*x+5); endfunction
Punto 3:
-Código:
clc
disp(' UNIVERSIDAD NACIONAL DE COLOMBIA ') disp(' Asignatura: Métodos Numéricos Grupo: 4') disp('Presentado por: Jefferson Fabian Cano Benitez ') disp(' Karol Johanna Fernandez Carreño') disp(' Daniela Alejandra Morales Herrera') disp(" ** Laboratorio Seis - Grupo 04 ** ") // Según sea el caso disp("Codigos: 2879824 215559 215548") // En concordancia con los participantes
ww=getdate(); mprintf( "AA:%d ,MM:%d ,DD:%d a las HH:%d ,MM:%d ,SS:%d ",ww(1),ww(2),ww(6),ww(7),ww(8),ww(9)); disp(''); function [pt]=funp(t); pt=2; endfunction
function [qt]=funq(t); qt=-1; endfunction function [rt]=funr(t); rt=t.^2-1; endfunction function probdiffin()
a=0; b=1; H=[0.1 0.01] N=[(b-a)/H(1) (b-a)/H(2)]
xa=5; xb=10;
A1=zeros(N(1)-1, N(1)-1); X1=zeros(N(1)-1, 1); B1=zeros(N(1)-1, 1); A2=zeros(N(2)-1, N(2)-1); X2=zeros(N(2)-1, 1); B2=zeros(N(2)-1, 1);
for (k=2:N(1)-1) A1(k,k-1)=-H(1)*funp(a+H(1)*k)/2-1; end for (k=1:N(1)-1) A1(k,k)=2+H(1).^2*funq(a+H(1)*k);
end for (k=1:N(1)-2) A1(k,k+1)=H(1)*funp(a+H(1)*k)/2-1; end for (k=1:N(1)-1) B1(k,1)=-H(1).^2*funr(a+H(1)*k) end
B1(1,1)=-H(1).^2*funr(a+H(1))+(H(1)*funp(a+H(1))/2+1)*xa; B1(N(1)-1,1)=-H(1).^2*funr(a+H(1)*(N(1)-1))+(-H(1)*funp(a+H(1))/2+1)*xb; X1=inv(A1)*B1; for (k=2:N(2)-1) A2(k,k-1)=-H(2)*funp(a+H(2)*k)/2-1;
end for (k=1:N(2)-1) A2(k,k)=2+H(2).^2*funq(a+H(2)*k); end for (k=1:N(2)-2) A2(k,k+1)=H(2)*funp(a+H(2)*k)/2-1;
end for (k=1:N(2)-1) B2(k,1)=-H(2).^2*funr(a+H(2)*k) end B2(1,1)=-H(2).^2*funr(a+H(2))+(H(2)*funp(a+H(2))/2+1)*xa; B2(N(2)-1,1)=-H(2).^2*funr(a+H(2)*(N(2)-1))+(-H(2)*funp(a+H(2))/2+1)*xb;
X2=inv(A2)*B2; for (k=1:N(1)-1) x1(k)=a+H(1)*k; y1(k)=X1(k,1); end for (k=1:N(2)-1)
x2(k)=a+H(2)*k;
y2(k)=X2(k,1); end
x=[0:0.01:1]'; plot(x2, y2, 'ro'); plot(x1, y1, 'ko'); plot(x, x.^2+4*x+5); endfunction
4. ANALISIS DE RESULTADOS
Punto 1:
Para desarrollar el siguiente programa se realiza el siguiente procedimiento, donde
nombraremos como
𝑑𝑦
𝑑𝑡= 𝑧
Y
𝑑𝑧
𝑑𝑡= −200𝑦 − 20𝑧
Manteniendo los valores de
𝑦(0) = 1
𝑧(0) = 0
Para poder desarrollarlas el procedimiento realizado es encontrar la información del modulo
y del grupo que le corresponde, luego se definen funciones de Y y de Z que corresponden
a ecuaciones diferenciales.
La función se desarrolla en Scilab que permite ejecutar el método de Runge Kutta de orden
4 con los parámetros dispuestos de (t,y,z,h) generando una matriz para cada respectiva
iteración .
Cuando se calculan los Y y Z consecutivos es donde la función encuentra la mayor parte
del trabajo.
Finalmente, se mostrados en la pantalla los Y1=y(0.01), y(0.05) y las matrices de las
funciones F y G. Con estos valores se puede obtener lo siguiente:
𝑦(0.05) = 0.8230661 𝑦(0.01) = 1
𝑓1 = −1.8066667
𝑓2 = −2.6166500
𝑓3 = −2.5266183
𝑓4 = −3.2564765
𝑔1 = −161.99667
𝑔2 = −143.99033
𝑔3 = −144.98098
𝑔4 = −127.94723
Punto 2:
Igual que el punto anterior se encuentra la información del módulo y del grupo
correspondiente, luego son definidas las funciones p, q y r y además, dentro de funciones,
las derivadas de u, y y de v, z, que corresponden a las ecuaciones de los sistemas de
ecuaciones diferenciales.
Luego, las funciones de Scilab realizan la iteración por el método de Runge-Kutta y son
idénticas a la función del primer punto; con parámetros de entrada (t, y, z, h) y devuelve
una matriz con los respectivos valores de la iteración.
En la función resorte, son definidos los parámetros iniciales del problema, creando matrices
para almacenar la información y posteriormente se ingresan los parámetros iniciales en las
matrices e inicia un ciclo que llena las matrices .Finalmente, se hallan los x(t) por medio de
la fórmula, previamente se han hallado las constantes c1 y c2, y se grafican los datos. Se
imprimen el x(0) y el x(1) para cada h como modo de verificación.
En la gráfica presentada corresponde a la solución analítica, los círculos negros a los x(t)
hallados con h=0.1 y los rojos con h=0.01.
Punto 3:
En el punto 3 se utiliza un método diferente al del punto 2 para hallar los x(t).Lo que realiza
este método es que no requiere transformar la ecuación diferencial en uno o varios sistemas
de ecuaciones, sino que resuelve el problema encontrando unos coeficientes que incluye
en una matriz.
Se definen las funciones p, q y r y luego la función en dinde se intoducen los parámetros
iniciales (datos del contorno y los valores de h). Posteriormente se calcula un n para cada
h con el fin de obtener las dimensiones de las matrices del sistema a resolver.
Se generan las matrices y se procede a llenar las matrices tridiagonales diagonal por
diagonal y luego las matrices de resultado, luego se resuelve cada sistema para encontrar
los x(t) correspondientes, que luego son introducidos en vectores, junto con sus abscisas
para poder graficarlos.
Se grafica la función analítica junto con los x(t) para cada h. En este caso, la consola no
muestra ningún resultado, en donde la línea corresponde a la solución analítica, los círculos
negros a los x(t) hallados con h=0.1 y los rojos con h=0.01.
5. CONCLUSIONES
Los programas desarrollados no pide que las funciones que describen las
ecuaciones diferencias ni los parámetros iniciales o de contorno, ya que se
encuentran dentro de cada programa.
El uso de Scilab es de gran utilidad para resolver ecuaciones diferenciales de
segundo orden por medio de diversos métodos debido a que resulta de gran ayuda
y se hace con una buena precisión.
El Método de Disparo Lineal y el Método de las Diferencias Finitas se analiza que
son bastantes acertados al momento de resolver una ecuación diferencial de orden
superior.
Desarrollando el Método de Disparo Lineal se puede evidenciar que su desarrollo
resulta algo más complicado de programar, ejecutar y entender, debido a que
involucra iteraciones consecutivas del Método de Runge-Kutta de cuarto orden y
luego se deben resolver unas ecuaciones. Adicionalmente, consume más recursos
informáticos.
BIBLIOGRAFÍA
MATHEWS, Jhon, H. – FINK, Kurtis D., “Numerical Methods Using Matlab”, Prentice
Hall, 1999.
http://campus.usal.es/~mpg/Personales/PersonalMAGL/Docencia/MetNumTema4T
eo(09-10).pdf
Top Related