El programa que hemos desarrollado, es una sencilla aplicación de consola, que lo que hace es pedir la ecuación derivada, sus respectivos valores y hacer las operaciones necesarias.
Sintaxis utilizada
Feval
Evalúa la función
Disp
Sirve para escribir texto de salida o vectores (y matrices) sin mostrar su nombre.
Clear all, clc
Limpia la ventana de comandos
Syms
Declara las variables
Input
Se utiliza para que el programa pida valores de variables mientras se ejecuta.
Aplicaciones
Resolver la siguiente EDO de primer orden por los metodos de Euler y Euler modificado.
y`=20y+7*(exp.(0.5*x))
Código fuente
METODO DE EULER
clear all
disp('METODO DE EULER')
clc
syms x
syms y
f=inline(input('ingrese la derivada:','s'));
x=input('ingrese el valor de x:');
y=input('ingrese el valor de y:');
h=input('ingrese el valor de h:');
n=input('ingrese numero de iteraciones:');
clc
disp('x(n) y(n) y´(n) hy´(n)');
for i=1:n
y1=feval(f,x,y);
hy1=h*y1;
fprintf('n%0.1f %0.4f %0.4f %0.4f ',x,y,y1,hy1);
y=y+hy1;
x=x+h;
x=0:1/20:4; plot(x, hy1,x, y1); grid on;
end
METODO DE EULER MODIFICADO
clear all
disp('METODO DE EULER MODIFICADO')
clc
syms x
syms y
f=inline(input('ingrese la derivada:','s'));
x=input('ingrese el valor de x:');
y=input('ingrese el valor de y:');
h=input('ingrese el valor de h:');
n=input('ingrese numero de iteraciones:');
clc
disp('x(n) y´(n) hy´(n) y(n+1),p hy´(n+1),p y(n+1),c');
for i=1:n
s=h+x;
y1=feval(f,x,y);
hy1=h*y1;
y2=y+hy1;
y3=feval(f,s,y2);
hy2=y3*h;
yn=y+((hy1+hy2)/2);
fprintf('n%0.1f %0.4f %0.4f %0.4f %0.4f %0.4f',x,y,hy1,y2,hy2,yn);
y=yn;
x=x+h;
x=0:1/20:4; plot(x, hy1,x, y1); grid on;
end
Conclusión
Podemos afirmar, que los programas aquí expuestos resuelven EDO, de primer orden; y probablemente podemos destacar los errores que existen por c/u, de los métodos. Se dice que los errores del método de Euler, radica en un intervalo proporcional a h2, mientras que su error global es proporcional a h; este método podría ser inestable si la EDO, tiene una constante de tiempo con signo negativo, a menos que se utilice una h pequeña, en cambio en el método modificado si la EDO, no es lineal, se requiere de un método iterativo para cada intervalo. Su error en un intervalo es proporcional a h3, mientras que su error global lo es a h2. En fin podemos afirmar que ambos métodos poseen una desventaja, que consiste en que los órdenes de precisión son bajos. Esta desventaja tiene dos facetas, para mantener una alta precisión se necesita una h pequeña, lo que aumenta el tiempo de cálculo y provoca errores de redondeo.
Bibliografía
Shoichiro Nakamura, "Metodos numericos aplicados con software",1992.
Creese, T.M. y R.M. Maralick,Ecuaciones diferenciales para ingenieros, Mc Graw hill,1978.
Constantin, A., Aplicacones de metodos numericos,Mac Graw hill, 1987.
Enviado por:
Paula Fernigrini
Autor:
José Thomas Aguirre Valle
Federico Matus
Daniel Gutiérrez
Rafael Torres
Trabajo final de Calculo II
Docente: Alberto Silva
Julio 03 de 2009
Managua, Nicaragua 2009
Página anterior | Volver al principio del trabajo | Página siguiente |