Saludos Abilomco, saludos G33...
De antemano, disculpen la agresividad o si se sienten ofendido por algo que escribo... Ha sido una semana difícil y mi sutileza está perdida. :quemao:
Me interesó este foro porque en estos momentos me encuentro desarrollando un proyecto de una estación de medición solar con tres sensores priranométricos, uno de ellos está montado en un mecanismo que sigue al sol (su trayectoria aparente), por ello debo implementar el algoritmo en un micro-controlador... Aún estoy buscando un buen algoritmo.
Abilomco, las expresiones que pusistes tienen serio errores.
En la ecuación para la declinación propuesta por Cooper, repetiste un termino en el argumento del seno, con lo cual la operación arimetica quedaría simplificada (365/365 = 1 ¿?). La expresión correcta es:
decl = 23.45º*sin( 360 * (N + 284) / 365);
El resultado tiene unidades de grados [º]
De forma equivalente, se plantea la sigiente expresión:
decl = -23.45º*cos( 360 * (N + 10) / 365);
El resultado tiene unidades de grados [º]
Con ambas expresiones se obtienen resultados muy parecidos (yo mismo lo he comprobado con diferentes maquinas de calcular)
N corresponde al día corrido del año en donde
· 1 de Enero corresponde a N = 1
· 2 de Enero corresponde a N = 2
... y así sucesivamente hasta 31 Diciembre cuando N = 365, o si es año bisisesto (leap year) N = 366
Otra cuestión errada es que N no se denomina como "Día juliano" precisamente, pues el día juliano (jd) es diferente al día del año (N)....
¡¡ Bastante diferente !!
Otro error está en la expresión para la declinación porpuesta por Spencer...
La expresión correcta es:
ang_diario = 360 * [(N - 1) / 365];
N número del día del año, no día juliano.
declinacion = 0.006918 - 0.399912*cos(ang_diario) + 0.070257*sen(ang_diario) - 0.006758*cos(2*ang_diario) + 0.000907*sen(2*ang_diario) - 0.002697*cos(3*ang_diario) + 0.00148*sen(3*ang_diario); declinacion = declinacion * 180 / PI;
Sin esta última operación el valor estaría errado (y por mucho).
Ambas expresiones pueden verificarlas en el siguiente vinculo en donde consulté:
Declination - Wikipedia, the free encyclopedia
Y no es que la Wiki tenga la verdad absoluta... Yo mismo comprobé las expresiones comparando los resultados obtenidos en diferentes máquinas y con programas de astronomía, ello debido al trabajo que estoy realizando.
Ahora G33... La verdad tu pregunta si que es extraña para alguien que maneja matemáticas...
Dependiendo de cómo tengas configurada tu calculadora o un programa en PC para operar con angulos y funciones trigonométricas, es que debes ingresas el argumento o recibes la respuesta en grados (DEG) o radianes (RAD).
Por ejemplo...
Si tu calculadora está configurada para trabajar en radianes, debes convertir el argumento que vas a operar con las funciones trigonométricas de grados a radianes o si están en radianes no les haces ninguna conversión. Para pasar un valor de grados a radianes la operación es muy simple
x_rad = x_gra * PI / 180,
donde
x_grad es tu valor en grados.
Para estas expresiones de declinación es usual trabajar el arguemnto en radianes puesto que su aplicación típica es usarlas en micro-controladores programandolos con librerias de lenguaje C, en programas de PC y apicaciones como applets de Java o de Microsoft Visual Basic.
En mi caso donde tuve que probar estas expresiones en MatLAB, debía ingresar las expresiones de la siguiente manera:
decl = 23.45º*sin( 2 * PI * (N + 284) / 365);
El resultado tiene unidades de grados [º]
decl = -23.45º*cos( 2 * PI * (N + 10) / 365);
El resultado tiene unidades de grados [º]
MatLAB opera las funciones trigonométricas en radianes, y aún así el resultado sigue teniendo unidades de grados.
En las expresiones de declinación anotadas más arriba, todos los argumentos están para ser trabajados en grados. Como ves, lo que se debe hacer para operar con funciones trigonométricas (Seno, Coseno, Tangente, etc... ) en un programa o máquina preparada para trabajar ángulos en radianes, es sustituir el valor de 360 por su equivalente en radianes de 2*PI.
Ahora, si tu calculadora está configurada para trabajar en grados, no le haces ninguna modificación a la expresión y la ingresas como está anotada más arriba.