Laboratorio 2 Métodos Numéricos Avanzados en Ingeniería
Short Description
Laboratorio 2 de Métodos Numéricos...
Description
Apellidos: Apellidos: Moreira Vélez Nombres: José Nombres: José Gabriel Asignatura: Métodos Asignatura: Métodos Numéricos Avanzados en Ingeniería Fecha: 15-05-2017 Fecha: 15-05-2017 Tema: Método de Runge- Kutta & Adams-Bashforth-Moulton de orden 4
Actividades Laboratorio #1: Métodos Runge-Kutta Preparación del laboratorio Para la ejecución del presente laboratorio es necesario que los alumnos tengan instalado en sus ordenadores: » Usuarios Windows: Dev C++ » Usuarios LINUX/MAC OS X: Cualquier editor de textos (por ejemplo, Sublime Text 2).
Revisa el apartado «Recursos externos» para obtener más información sobre estas herramientas.
Además, los usuarios de Sistemas Operativos LINUX/MAC OS X deben conocer la forma de compilar y ejecutar los archivos con la programación en C++. Para ello, pueden seguir el siguiente manual:
http://programa-me.com/documents/GuiaCompilacionCLI.pdf
Antes de realizar el laboratorio, es necesario recordar las fórmulas de los métodos de Runge-Kutta de segundo y cuarto orden:
ℎ , ℎ+, + 2
» 2º orden:
Asignatura Métodos Numéricos Avanzados en Ingeniería
Datos del alumno
Fecha
Apellidos: Moreira Vélez 15-05-2017 Nombre: José Gabriel
» 4º orden:
ℎ, ℎ ℎ( 2ℎ , 2 ) ℎ( 2 , 2) ℎ ℎ, 2 2 + 6
Descripción del laboratorio Objetivos: se trata de un ejercicio en el que deberás programar en C++ las funciones necesarias para la resolución, por medio del método de Runge-Kutta de segundo y cuarto orden, un problema de valores iniciales. Tiempo estimado: 4 horas: » 2,5 horas -> programación » 0,5 horas -> ejecución » 1 hora -> elaboración del informe Descripción: el trabajo consta de dos partes: 1. Deberás programar en C++ una aplicación de acuerdo a las siguientes características: » Presentarás un menú en el que el usuario pueda escoger por cuál de los dos métodos quiere resolver el problema. » Una vez seleccionado el método para la resolución, la aplicación pedirá que sea introducido el tamaño de paso (utilizar
ℎ0,2;0,1;0,05;0,01
).
» Finalmente, el programa deberá sugerir si se quiere analizar el mismo método cambiando el tamaño de paso, volver al menú para seleccionar el método o salir de la ejecución.
TEMA 4 – Actividades
© Universidad Internacional de La Rioja (UNIR)
Asignatura Métodos Numéricos Avanzados en Ingeniería
Datos del alumno
Fecha
Apellidos: Moreira Vélez 15-05-2017 Nombre: José Gabriel
2. Además, generarás un informe con los resultados obtenidos para cada uno de los métodos y cada uno de los tamaños de paso, hacer una comparativa y exponer las conclusiones que estimes oportunas.
Se espera que el código sea fácilmente interpretable, de modo que cualquier aclaración o explicación sobre el código deberá ponerse en forma de comentario. » Todos los archivos de código deberán tener la siguiente cabecera: »
/* ++++++++++++++++++++++++++++++++++++++++++ LABORATORIO 1. RUNGE-KUTTA Metodos Numericos Avanzados en Ingeniería Alumno: DNI: ++++++++++++++++++++++++++++++++++++++++++ */ Entrega del laboratorio La entrega de este laboratorio, será un único archivo comprimido («.zip», .«rar»). Su nombre deberá ser «vuestro DNI.zip» o «vuestro DNI.rar». El contenido del archivo, serán dos carpetas. »
[CODE] o «Leame.txt». En este archivo tendrá que aparecer la forma de ejecución y todas las
notas que se consideren oportunas. o «RK.cpp» + «todos los archivos auxiliares que sean necesarios».
»
[REPORT] o «Informe.docx»
Extensión máxima: 2 páginas (Georgia 11, interlineado 1,5).
TEMA 4 – Actividades
© Universidad Internacional de La Rioja (UNIR)
Asignatura Métodos Numéricos Avanzados en Ingeniería
TEMA 4 – Actividades
Datos del alumno
Fecha
Apellidos: Moreira Vélez 15-05-2017 Nombre: José Gabriel
© Universidad Internacional de La Rioja (UNIR)
Asignatura Métodos Numéricos Avanzados en Ingeniería
Datos del alumno
Fecha
Apellidos: Moreira Vélez 15-05-2017 Nombre: José Gabriel
Resolución del Ejercicio. Literal a) Convertimos el sistema de orden 2 en uno de primer orden;
==−− ;; == ;; == √ 398598.309 1 2 4 3
Donde defino mis siguientes variables;
Donde
{′′ ′′′
′ √ ′ √ 0042167. 9 11 01.07168 02.8827 24 ℎ −. −.
Reemplazamos en las ecuaciones pertinentes t convertimos en primer orden
Literal b) Con las siguientes condiciones iniciales;
Con tiempo de
= 48
TEMA 4 – Actividades
© Universidad Internacional de La Rioja (UNIR)
Asignatura Métodos Numéricos Avanzados en Ingeniería
Datos del alumno
Fecha
Apellidos: Moreira Vélez 15-05-2017 Nombre: José Gabriel
function RK4 fprintf('\n \tRESOLUCION DE ECUACIONES DIFERENCIALES POR MEDIO RUNGE-KUTTA DE ORDEN 4\n') fprintf('\n \tLABORATORIO 1. RUNGE-KUTTA\n') fprintf('\n \tMétodos Numéricos Avanzados en Ingeniería\n') fprintf('\n \tAlumno: Moreira Vélez José Gabriel\n') fprintf('\n \tDNI: 1311265852\n') h=(b-a)/N; x=a:h:b; x=x(:); y=zeros(N+1,4); y(1,:)=y0; for k=1:N k1=feval(f,x(k),y(k,:))'; k2=feval(f,x(k)+h/2,y(k,:)+h*k1/2)'; k3=feval(f,x(k)+h/2,y(k,:)+h*k2/2)'; k4=feval(f,x(k+1),y(k,:)+h*k3)'; y(k+1,:)=y(k,:)+(h/6)*(k1+2*k2+2*k3+k4); end end function w=satelite(x,y) w=[y(2);-398598.309*y(1)/((sqrt((y(1))^2+(y(3))^2)) ^3);y(4);398598.309*y(3)/((sqrt((y(1))^2+(y(3))^2))^3)]; end
Ejecución del Programa >> [x,y] =RK4('satelite',0,24,48,[42167.911 -1.07168 0 2.8827]) RESOLUCION DE ECUACIONES DIFERENCIALES POR MEDIO RUNGEKUTTA DE ORDEN 4 LABORATORIO 1. RUNGE-KUTTA Métodos Numéricos Avanzados en Ingeniería Alumno: Moreira Vélez José Gabriel DNI: 1311265852 x =0 0.5000 1.0000
TEMA 4 – Actividades
© Universidad Internacional de La Rioja (UNIR)
Asignatura Métodos Numéricos Avanzados en Ingeniería
Datos del alumno
Fecha
Apellidos: Moreira Vélez 15-05-2017 Nombre: José Gabriel
1.5000 2.0000 2.5000 3.0000 3.5000 4.0000 4.5000 5.0000 5.5000 6.0000 6.5000 7.0000 7.5000 8.0000 8.5000 9.0000 9.5000 10.0000 10.5000 11.0000 11.5000 12.0000 12.5000 13.0000 13.5000 14.0000 14.5000 15.0000 15.5000 16.0000 16.5000 17.0000 17.5000 18.0000 18.5000
TEMA 4 – Actividades
© Universidad Internacional de La Rioja (UNIR)
Asignatura Métodos Numéricos Avanzados en Ingeniería
Datos del alumno
Fecha
Apellidos: Moreira Vélez 15-05-2017 Nombre: José Gabriel
19.0000 19.5000 20.0000 20.5000 21.0000 21.5000 22.0000 22.5000 23.0000 23.5000 24.0000
y =1.0e+004 * 4.2168 -0.0001
0 0.0003
4.2167 -0.0001 0.0001 0.0003 4.2167 -0.0001 0.0003 0.0003 4.2166 -0.0001 0.0004 0.0003 4.2166 -0.0001 0.0006 0.0003 4.2165 -0.0001 0.0007 0.0003 4.2165 -0.0001 0.0009 0.0003 4.2164 -0.0001 0.0010 0.0003 4.2164 -0.0001 0.0012 0.0003 4.2163 -0.0001 0.0013 0.0003 4.2163 -0.0001 0.0014 0.0003 4.2162 -0.0001 0.0016 0.0003 4.2161 -0.0001 0.0017 0.0003 4.2161 -0.0001 0.0019 0.0003 4.2160 -0.0001 0.0020 0.0003 4.2160 -0.0001 0.0022 0.0003 4.2159 -0.0001 0.0023 0.0003 4.2159 -0.0001 0.0025 0.0003 4.2158 -0.0001 0.0026 0.0003 4.2158 -0.0001 0.0027 0.0003
TEMA 4 – Actividades
© Universidad Internacional de La Rioja (UNIR)
Asignatura Métodos Numéricos Avanzados en Ingeniería
Datos del alumno
Fecha
Apellidos: Moreira Vélez 15-05-2017 Nombre: José Gabriel
4.2157 -0.0001 0.0029 0.0003 4.2157 -0.0001 0.0030 0.0003 4.2156 -0.0001 0.0032 0.0003 4.2156 -0.0001 0.0033 0.0003 4.2155 -0.0001 0.0035 0.0003 4.2154 -0.0001 0.0036 0.0003 4.2154 -0.0001 0.0037 0.0003 4.2153 -0.0001 0.0039 0.0003 4.2153 -0.0001 0.0040 0.0003 4.2152 -0.0001 0.0042 0.0003 4.2152 -0.0001 0.0043 0.0003 4.2151 -0.0001 0.0045 0.0003 4.2151 -0.0001 0.0046 0.0003 4.2150 -0.0001 0.0048 0.0003 4.2150 -0.0001 0.0049 0.0003 4.2149 -0.0001 0.0050 0.0003 4.2149 -0.0001 0.0052 0.0003 4.2148 -0.0001 0.0053 0.0003 4.2148 -0.0001 0.0055 0.0003 4.2147 -0.0001 0.0056 0.0003 4.2146 -0.0001 0.0058 0.0003 4.2146 -0.0001 0.0059 0.0003 4.2145 -0.0001 0.0061 0.0003 4.2145 -0.0001 0.0062 0.0003 4.2144 -0.0001 0.0063 0.0003 4.2144 -0.0001 0.0065 0.0003 4.2143 -0.0001 0.0066 0.0003 4.2143 -0.0001 0.0068 0.0003 4.2142 -0.0001 0.0069 0.0003 >>
En el tiempo = 24 horas la posición es la siguiente; X = 42142 Y = 691850
TEMA 4 – Actividades
© Universidad Internacional de La Rioja (UNIR)
Asignatura Métodos Numéricos Avanzados en Ingeniería
Datos del alumno
Fecha
Apellidos: Moreira Vélez 15-05-2017 Nombre: José Gabriel
Y su gráfico es el siguiente; >> plot ([0:0.5:24],x);hold on; plot ([0:0.5:24],y);grid on 4
x 10 4.5
4
3.5
3
2.5
2
1.5
1
0.5
0
-0.5 0
TEMA 4 – Actividades
5
10
15
20
25
© Universidad Internacional de La Rioja (UNIR)
Asignatura
Datos del alumno
Métodos Numéricos Avanzados en Ingeniería
Fecha
Apellidos: Moreira Vélez 15-05-2017 Nombre: José Gabriel
Resolución del método de Adams-Bashforth-Moulton de orden 4 function [x,y] = ABM4s(f,a,b,N,y0) h=(b-a)/N; x=a:h:b; y=zeros(N+1,4); y(1,:)=y0; for k=1:3 k1=feval(f,x(k),y(k,:))'; k2=feval(f,x(k)+h/2,y(k,:)+h*k1/2)'; k3=feval(f,x(k)+h/2,y(k,:)+h*k2/2)'; k4=feval(f,x(k+1),y(k,:)+h*k3)'; y(k+1,:)=y(k,:)+(h/6)*(k1+2*k2+2*k3+k4); end for k=4:N y(k+1,:)=y(k,:)+(h/24)*(55*feval(f,x(k),y(k,:))'-59*feval(f,x(k1),y(k-1,:))'+37*feval(f,x(k-2),y(k-2,:))'-9*feval(f,x(k-3),y(k3,:))'); y(k+1,:)=y(k,:)+(h/24)*(9*feval(f,x(k+1),y(k+1,:))'+19*feval(f,x(k),y( k,:))'-5*feval(f,x(k-1),y(k-1,:))'+feval(f,x(k-2),y(k-2,:))'); end end function z=satellite(x,y) z=[y(2);-398598.309*y(1)/((sqrt((y(1))^2+(y(3))^2))^3);y(4);398598.309*y(3)/((sqrt((y(1))^2+(y(3))^2))^3)]; end
Ejecución del Programa >> [x,y] =ABM4('satelite',0,24,48,[42167.911 -1.07168 0 2.8827]) x= Columns 1 through 9 0 0.5000 1.0000 1.5000 2.0000 2.5000 3.0000 3.5000 4.0000 Columns 10 through 18 4.5000
5.0000
5.5000
6.0000
6.5000
7.0000
7.5000
8.0000
8.5000
Columns 19 through 27 9.0000 9.5000 10.0000 10.5000 11.0000 11.5000 12.0000 12.5000 13.0000
TEMA 4 – Actividades
© Universidad Internacional de La Rioja (UNIR)
Asignatura Métodos Numéricos Avanzados en Ingeniería
Datos del alumno
Fecha
Apellidos: Moreira Vélez 15-05-2017 Nombre: José Gabriel
Columns 28 through 36 13.5000 14.0000 14.5000 15.0000 15.5000 16.0000 16.5000 17.0000 17.5000 Columns 37 through 45 18.0000
18.5000
19.0000
19.5000
20.0000
20.5000
21.0000
21.5000
22.0000 Columns 46 through 49 22.5000 23.0000 23.5000 24.0000
y = 1.0e+004 * 4.2168 -0.0001
0 0.0003
4.2167 -0.0001 0.0001 0.0003 4.2167 -0.0001 0.0003 0.0003 4.2166 -0.0001 0.0004 0.0003 4.2166 -0.0001 0.0006 0.0003 4.2165 -0.0001 0.0007 0.0003 4.2165 -0.0001 0.0009 0.0003 4.2164 -0.0001 0.0010 0.0003 4.2164 -0.0001 0.0012 0.0003 4.2163 -0.0001 0.0013 0.0003 4.2163 -0.0001 0.0014 0.0003 4.2162 -0.0001 0.0016 0.0003 4.2161 -0.0001 0.0017 0.0003 4.2161 -0.0001 0.0019 0.0003 4.2160 -0.0001 0.0020 0.0003 4.2160 -0.0001 0.0022 0.0003
TEMA 4 – Actividades
© Universidad Internacional de La Rioja (UNIR)
Asignatura Métodos Numéricos Avanzados en Ingeniería
Datos del alumno
Fecha
Apellidos: Moreira Vélez 15-05-2017 Nombre: José Gabriel
4.2159 -0.0001 0.0023 0.0003 4.2159 -0.0001 0.0025 0.0003 4.2158 -0.0001 0.0026 0.0003 4.2158 -0.0001 0.0027 0.0003 4.2157 -0.0001 0.0029 0.0003 4.2157 -0.0001 0.0030 0.0003 4.2156 -0.0001 0.0032 0.0003 4.2156 -0.0001 0.0033 0.0003 4.2155 -0.0001 0.0035 0.0003 4.2154 -0.0001 0.0036 0.0003 4.2154 -0.0001 0.0037 0.0003 4.2153 -0.0001 0.0039 0.0003 4.2153 -0.0001 0.0040 0.0003 4.2152 -0.0001 0.0042 0.0003 4.2152 -0.0001 0.0043 0.0003 4.2151 -0.0001 0.0045 0.0003 4.2151 -0.0001 0.0046 0.0003 4.2150 -0.0001 0.0048 0.0003 4.2150 -0.0001 0.0049 0.0003 4.2149 -0.0001 0.0050 0.0003 4.2149 -0.0001 0.0052 0.0003 4.2148 -0.0001 0.0053 0.0003 4.2148 -0.0001 0.0055 0.0003 4.2147 -0.0001 0.0056 0.0003 4.2146 -0.0001 0.0058 0.0003 4.2146 -0.0001 0.0059 0.0003 4.2145 -0.0001 0.0061 0.0003 4.2145 -0.0001 0.0062 0.0003 4.2144 -0.0001 0.0063 0.0003 4.2144 -0.0001 0.0065 0.0003 4.2143 -0.0001 0.0066 0.0003 4.2143 -0.0001 0.0068 0.0003 4.2142 -0.0001 0.0069 0.0003 >>
TEMA 4 – Actividades
© Universidad Internacional de La Rioja (UNIR)
View more...
Comments