Jump to content
Astronomia - Espacio Profundo
Sign in to follow this  
Tuxero

Programa en C

Recommended Posts

Tuxero

Hola:

Tengo en mente hacer un programa en C que me calcule las posiciones en coordenadas cartesianas y polares de la órbita de Venus respecto al Sol. La idea sería que el programa fuera sacando las sucesivas posiciones, velocidades y aceleraciones en cartesianas por integración numérica -método de Euler-, con un bucle for, y que el usuario seleccionara el infinitesimal de tiempo para hacer la integración.

No quiero introducir nada de perturbaciones gravitacionales ni ecuaciones diferenciales.

De momento había pensado dividir la órbita en cuatro cuadrantes y ver qué pasa con la aceleración centrípeta, la velocidad y la aceleración en cada uno de ellos, pero no me funciona.De momento éste es el código para el tercer cuadrante:

posiciony = 0, posicionx = -1.082082e11, velocidadx = 0, velocidady =  3.501e4, aceleracionx = 1.133e-2;


/* Las sucesivas posiciones y valores de la velocidad y la aceleración se calculan por la intergración de Euler. El Sol es el centro de coordenadas */
for( i = 0; i <= repeticiones; i++ )
{

	if( posicionx <= 0 && posiciony >= b ) // Condiciones para el 3º cuadrante.
	{
		velocidadx = aceleracionx * diferencial;
		velocidady = aceleraciony * diferencial;
		posicionx += velocidadx * diferencial;
		posiciony -= velocidady * diferencial;
		unitariox = posicionx / ( sqrt( ( pow( posicionx, 2 ) ) + ( pow( posiciony, 2 ) ) ) );
		unitarioy = posiciony / ( sqrt( ( pow( posicionx, 2 ) ) + ( pow( posiciony, 2 ) ) ) );
		aceleracionx = ( G * masasolar / ( sqrt( ( pow( posicionx, 2 ) ) + pow( posiciony, 2 ) ) ) ) * unitariox;
		aceleraciony = ( G * masasolar / ( sqrt( ( pow( posicionx, 2 ) ) + pow( posiciony, 2 ) ) ) ) * unitarioy;
	}
}

Agradezco toda la ayuda que puedan darme.

Saludos.

Share this post


Link to post
Share on other sites
Tuxero

Ya no necesito ayuda, jeje, se me acaba de ocurrir la solucion y funciona a las mil maravillas :mrgreen::D:D .

Saludos!

Share this post


Link to post
Share on other sites
jcosellame

Tuxero, el código que proponés ni siquiera debería complilar, tiene errores de sintaxis y falta la declaración de las variables.

En C todas las variables deben declararse antes de ser utilizadas.

Te recomiendo que utilices algún lenguaje de programación de alto nivel (por ej. Visual Basic) ya que son más fáciles y ágiles de aprender.

Con el tema de los cálculos no sabría ayudarte, sin embargo en el foro hay gente que sabe mucho de matemáticas y podrían darte una mano.

Saludos

Share this post


Link to post
Share on other sites
Guest
This topic is now closed to further replies.
Sign in to follow this  

×
×
  • Create New...

Important Information

Términos y condiciones de uso de Espacio Profundo