Matlab - Iteracion para Calculo de Orbitas

   
Vista:

Iteracion para Calculo de Orbitas

Publicado por Diegox (20 intervenciones) el 17/10/2012 21:27:45
Buenas, tengo una consulta con respecto a una formula donde tengo q iterar esta es la formula:
Ek=Mk+ex*sin(En)

En principio este En es igual a Mk pero se tiene que iterar o repetir el calculo hasta que Ek de igual en su séptimo dígito después de la coma. Viéndolo con números seria algo así:

Mk=0.312012227
ex=0.005362690542825
En=0.312012227 (En primera iteracion)

y después estos son los resultados conforme se hace el calculo en excell

E2=0.313658435 (Mk+ex*sin(En) Iteracion 2

E3=0.313666835 (Mk+ex*sin(E2) Iteracion 3

E4=0.313666878 (Mk+ex*sin(E3) Iteracion 4

E5=0.313666878 (Mk+ex*sin(E4) Iteracion 5

Básicamente se puede ver que en la Iteracion 4 y 3 no hay diferencia en el séptimo dígito después del decimal por lo cual se puede establecer una condición restando esas iteraciones.

Pero no se como programar esto y por eso ocupo ayuda creo q con un bucle pero nunca he entendido los bucles!

Se les agradecería su ayuda mucho! gracias!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
1
Responder
Imágen de perfil de JOSE JEREMIAS CABALLERO

Iteracion para Calculo de Orbitas

Publicado por JOSE JEREMIAS CABALLERO jjcc94@hotmail.com (3432 intervenciones) el 17/10/2012 23:10:53
1
2
3
4
5
6
7
8
9
10
11
12
13
14
clc
clear all
Mk=0.312012227;
ex=0.005362690542825;
Ek(1)=0.312012227;
fprintf('%2d %12.7f\n',1,Ek(1));
 for i=1:10
 Ek(i+1)=Mk+ex*sin(Ek(i));
 fprintf('%2d %12.7f\n',i+1,Ek(i+1))
 pause(1)
 if abs(Ek(i+1)-Ek(i))<10^-7
     return;
 end
 end



1
2
3
4
5
>> calculo_orbitas
 1    0.3120122
 2    0.3136584
 3    0.3136668
 4    0.3136669



Saludos.
JOSE JEREMIAS CABALLERO
Asesor de Proyectos con Matlab
programador en matlab
Servicios de programacion Matlab
jjcc94@hotmail.com

http://matlabcaballero.blogspot.com
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Iteracion para Calculo de Orbitas

Publicado por Diegox (20 intervenciones) el 17/10/2012 23:20:34
Gracias Don Jose creo que es lo que ocupo solo que al final solo ocupo el Ek iterado con el requisito que este igual al anterior al séptimo dígito pero creo q lo q basta para hacer eso lo puedo hacer yo!
Saludos!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de JOSÉ JEREMÍAS  JEREMIAS

Iteracion para Calculo de Orbitas

Publicado por JOSÉ JEREMÍAS JEREMIAS jjcc94@hotmail.com (3432 intervenciones) el 17/10/2012 23:28:39
1
2
3
4
5
6
7
8
9
10
11
12
13
14
clc
clear all
Mk=0.312012227;
ex=0.005362690542825;
Ek(1)=0.312012227;
fprintf('%2d %12.7f\n',1,Ek(1));
 for i=1:10
 Ek(i+1)=Mk+ex*sin(Ek(i));
 fprintf('%2d %12.7f\n',i+1,Ek(i+1))
 pause(1)
 if abs(Ek(i+1)-Ek(i))<10^-8
     return;
 end
 end


1
2
3
4
5
6
>> calculo_orbitas
 1    0.3120122
 2    0.3136584
 3    0.3136668
 4    0.3136669
 5    0.3136669




Saludos.
JOSE JEREMIAS CABALLERO
Asesor de Proyectos con Matlab
programador en matlab
Servicios de programacion Matlab
jjcc94@hotmail.com

http://matlabcaballero.blogspot.com
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Iteracion para Calculo de Orbitas

Publicado por Diegox (20 intervenciones) el 17/10/2012 23:38:51
Si eso era el problema lo hizo al sexto dígito y no al séptimo! pero ya esta bien! de todas formas gracias Don Jose!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de JOSÉ JEREMÍAS  CABALLERO

Iteracion para Calculo de Orbitas

Publicado por JOSÉ JEREMÍAS CABALLERO jjcc94@hotmail.com (3432 intervenciones) el 17/10/2012 23:54:32
Al parecer no lo tienes claro , que es lo quieres hacer.
Tu pregunta es correcta, pero la respuesta a tu pregunta no lo tienes claro.
Te estoy dando la respuesta correcta, pero al parecer lo que no entiendes, segun tu piensa q la respuesta es otro.
Ejemplo: me preguntas cuanto es la suma de 4 con 5 y le digo que la suma es 9, pero sin embargo para ti esa suma es 10, y por eso la confusion con las respuestas que te doy.
Estudia la teoria de aproximaciones.


Saludos.
JOSE JEREMIAS CABALLERO
Asesor de Proyectos con Matlab
programador en matlab
Servicios de programacion Matlab
jjcc94@hotmail.com

http://matlabcaballero.blogspot.com
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Iteracion para Calculo de Orbitas

Publicado por Diegox (20 intervenciones) el 18/10/2012 00:15:04
Creo q no me explique bien, pero como lo programo es lo que ocupo de todas formas gracias!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de JOSÉ JEREMÍAS  CABALLERO

Iteracion para Calculo de Orbitas

Publicado por JOSÉ JEREMÍAS CABALLERO jjcc94@hotmail.com (3432 intervenciones) el 18/10/2012 01:47:51
1
2
3
4
5
6
7
8
9
10
11
12
13
clear all
Mk=0.312012227;
ex=0.005362690542825;
Ek(1)=0.312012227;
fprintf('E%d %12.9f\n',1,Ek(1));
 for i=1:10
 Ek(i+1)=Mk+ex*sin(Ek(i));
 fprintf('E%d %12.9f\n',i+1,Ek(i+1))
 pause(1)
 if abs(Ek(i+1)-Ek(i))<10^-7
     return;
 end
 end



1
2
3
4
5
>> calculo_orbitas
E1  0.312012227
E2  0.313658435
E3  0.313666835
E4  0.313666878




Saludos.
JOSE JEREMIAS CABALLERO
Asesor de Proyectos con Matlab
programador en matlab
Servicios de programacion Matlab
jjcc94@hotmail.com

http://matlabcaballero.blogspot.com
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Dave

Iteracion para Calculo de Orbitas

Publicado por Dave correa.dave30@gmail.com (934 intervenciones) el 18/10/2012 17:49:12
Hola José;

La explicación que haces sobre tu respuesta no esta del todo clara.

Saludos
Dave Correa
correa.dave30@gmail.com
Servicios de Programación Matlab
http://fismatlab.blogspot.com/
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de JOSE JEREMIAS CABALLERO

Iteracion para Calculo de Orbitas

Publicado por JOSE JEREMIAS CABALLERO jjcc94@hotmail.com (3432 intervenciones) el 19/10/2012 07:01:10
Bueno Dave.
Por lo general yo pongo codigos,segun la pregunta del usuario. No suelo escribir mas cosas, ya q no dispongo de mucho tiempo, para hacerlo. Ya el usuario que preguntó, tiene que revisar el codigo y estudiarlo el codigo.


Saludos.
JOSE JEREMIAS CABALLERO
Asesor de Proyectos con Matlab
programador en matlab
Servicios de programacion Matlab
jjcc94@hotmail.com

http://matlabcaballero.blogspot.com
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar