Aquí os dejo el código principal de un programa que implementamos en Matlab unos amigos y yo para entregarselo al profesor de ampliación de matemáticas. Se trata de un programa que calcula y dibuja las soluciones exactas y aproximadas de una ecuación diferencial dada, usando para ello el método iterativo de Euler. Espero que os sirva, pedidme los archivos euler.m, y funcion1.m
% Ejemplo de solucion numerica de un sistema de ecuaciones
% diferenciales ordinarias mediante el metodo de Euler.
% Requiere euler.m y funcion1.m.
% Fija las condiciones iniciales
a = 0;
b = 1;
ya = 1;
M = 5;
h=(b-a)/M;
x=zeros(M+1);
y=zeros(M+1);
z=zeros(2*M+2);
z= euler('funcion1',a,b,ya,M);
x=z(1:M+1);
y=z(M+2:2*M+2);
ye=exp(x);
% Muestra los resultados
fprintf('\n\n Método de Euler aplicado a la ecuación:\n');
fprintf('\n dy/dx =y y(0)=1\n\n para h=');
fprintf('%4.4f\n\n',h);
fprintf(' x y y exacto error \n');
fprintf('---------------------------------------------\n');
fprintf('%6.2f %12.8f %12.8f %12.8f\n',[x;y;ye;ye-y]);
fprintf('---------------------------------------------\n');
xe=a:h/100:b;
ye=exp(xe);
plot(x,y,'+-b',xe,ye,'k')
title('Método de Euler para y''=y, y(0)=1 con h=0.2 y h=0.1');
hold;
pause;
M= 2*M;
h=(b-a)/M;
x=zeros(M+1);
y=zeros(M+1);
z=zeros(2*M+2);
z= euler('funcion1',a,b,ya,M);
x=z(1:M+1);
y=z(M+2:2*M+2);
ye=exp(x);
% Muestra los resultados
fprintf('\n\n Método de Euler aplicado a la ecuación:\n');
fprintf('\n dy/dx =y y(0)=1\n\n para h=');
fprintf('%4.4f\n\n',h);
fprintf(' x y y exacto error \n');
fprintf('---------------------------------------------\n');
fprintf('%6.2f %12.8f %12.8f %12.8f\n',[x;y;ye;ye-y]);
fprintf('---------------------------------------------\n');
plot(x,y,'+-r')
Por cierto nos dieron 8 sobre 10, unas decimas que se suman a la nota del exámen.
Suscribirse a:
Enviar comentarios (Atom)
Hola, tengo que hacer un programa como este, estudio teleco en la UPC. ¿En qué matlab lo pruebo?
ResponderEliminarUsa el 6, que es donde yo lo he probado. Mandame un correo y te paso también los otros archivos punto m. Encantado!
ResponderEliminarYa sabes más matlab que yo, siempre me ha superado.
ResponderEliminarespero que tu programa corra por que lo presentare en mi proyecto si revisarlo. jeje un saludo¡¡
ResponderEliminarhola oye estoy haciendo un proyecto sobre e metodo euler me podrias pasar de favor los archivos .m mi correo es choy_6@hotmail.com
ResponderEliminaratte; jesus delgado
hola podrias compartir los archivos.m los necesito para un trabajo que debo presentar micorreo es mostcrazyfull@yahoo.mx, gracias
ResponderEliminarPodrias enviarme los archivos .m
ResponderEliminarrmmiranda22@hotmail.com
urgente gracias
podrias mandarme porfavor tu programa de euler.m y funcion.m a nestord_90@hotmail.com porfavor es de urge
ResponderEliminarGrácias por publicar tu trabajo, me hacen falta los ficheros funcion1.m y euler.m puedes pasarmelos a estrilles@hotmail.com
ResponderEliminarsaludos y gracias.
hola xfa me puedes enviar los archivos: euler.m, y funcion1.m los necesito para un deber xfa mi correo es
ResponderEliminarleo_aleja08@hotmail.com
xfa, gracias...
hola te pido por fa me envies una copia de los archivos euler.m y funcion1.m
ResponderEliminarlisseth_.14@hotmail.com
hola te agradeceria mucho si me puedes enviar los archivos a oazzambrano@gmail.com.
ResponderEliminarmuy interesante tu trabajo
gracias
gracias por el trabajo, podrías mandarme los archivos .m a alejita1815@gmail.com?
ResponderEliminarGracias!
por favor me puedes enviar los archivos euler.m y funcion1.m mi correo es edwin26_4@hotmail.com
ResponderEliminarhola por favor necesito los archivos euler.m y funcion1.m mi correo es j.c.h.81@hotmail.com
ResponderEliminarhola por favor necesito los archivos euler.m y funcion1.m mi correo es lalo_jelv@hotmail.com
ResponderEliminarme podrias mandar los archivos euler.my funcion1.m
ResponderEliminarmi direccion de correo es facundoartaga@hotmail.com
gracias