Subiectul anterior :: Subiectul urmator |
|
Autor |
Mesaj |
pavel Membru
Data inscrierii: 22 Apr 2007 Mesaje: 7
Localitate: univers
|
Trimis: 22 Apr 2007 18:11 Download mesaj |
Titlul subiectului: lunile noi din primul secol ... cum se calculează ? |
|
|
|
... am făcut un algoritm propriu pentru aflarea lunii noi cele mai apropiate de echinoxul de primăvară din anul X (din primul secol), pornind de la data echinoxului de primăvară din anul Y (secolul 20/21), și luna nouă cea mai apropiată de acesta ... am luat drept constante: lungimea lunii sinodice (29.530588) și a anului solar (365.24219) ... dar când am făcut verificarea folosind mai mulți ani de referință Y am observat că nu obțin aceleași rezultate ... iar eroarea se pare că este aproximativ liniară, 2-4 ore la ani succesivi de referință (Y) ... în primul rând aș vrea să știu dacă premisele de la care am pornit sunt corecte (mă refer la alegerea ca, constante a intervalului lunii sinodice, respectiv a anului solar) ... și care este algoritmul folosit pentru astfel de calcule ? ... |
|
Sus |
|
|
pavel Membru
Data inscrierii: 22 Apr 2007 Mesaje: 7
Localitate: univers
|
|
Sus |
|
|
red giant Membru
Data inscrierii: 13 Mar 2007 Mesaje: 424
Localitate: Timisoara
|
|
Sus |
|
|
Doru Dragan Membru
Data inscrierii: 02 Mar 2006 Mesaje: 4414
Motto: PER ASPERA AD ASTRA Localitate: Timisoara
|
Trimis: 23 Apr 2007 10:20 Download mesaj |
Titlul subiectului: |
|
|
|
Un program care calculeaza fazele Lunii pentru mii de ani Este in BASIC dar cred ca se poate usor converti in orice alt limbaj. Este gratuit dar mi-ar place sa fiu citat daca si unde e folosit. Eventuale explicatii.
10 PI=4*ATN(1):R=PI/180:INPUT "Anul:";Y:C=INT((Y-1900)*12.3685):G=1:IF Y<1583 THEN G=0
20 DEF FNF(X)=X-INT(X):T=(Y-1899.5)/100:V=T*T:W=V*T
30 E=.75933-.000837*T-.0002172*V-.000000155*W+.53058868*C
40 I=2415020+29*C+INT(E):E=FNF(E)
50 L=C*.080848211:L=360*FNF(L)+359.2242-.0000333*V-.00000347*W
60 M1=C*.071713661:M1=360*FNF(M1)+306.0253+.0107306*V+.00001236*W
70 B=C*.085195851:B=360*FNF(B)+21.2964-.0016528*V-.00000239*W
80 PRINT "ANUL ";Y:FOR Q=0 TO 28:J=I+14*Q:K=Q/2
90 N=(L+K*29.1053561)*R:O=(M1+K*385.816918)*R:S=(B+K*390.670506)*R
100 F=E+.765294*Q-.4068*SIN(O)+(.1734-.000393*T)*SIN(N)+.0161*SIN(2*O)
110 F=F+.0104*SIN(2*S)-.0074*SIN(N-O)-.0051*SIN(N+O)+.0021*SIN(2*N)
120 F=F+.001*SIN(2*S-O)+.5/1440+.5
130 J=J+INT(F):F=FNF(F)
140 A$="LUNA PLINA":IF K=INT(K) THEN A$="LUNA NOUA "
150 GOSUB 950:PRINT D1;M;H1;":";M9;A$:F=F-.0208*SIN(2*S)
200 IF K=INT(K) OR ABS(SIN(S))>.36 THEN 295
202 S1=5.19595-.0048*COS(N)+.002*COS(2*N)-.3283*COS(O)-.006*COS(N+O)+.0041*COS(N-O)
204 C1=.207*SIN(N)+.0024*SIN(2*N)-.039*SIN(O)+.0115*SIN(2*O) -.0073*SIN(N+O)-.0067*SIN(N-O)+.0117*SIN(2*S)
206 D9=ABS(S1*SIN(S)+C1*COS(S))
208 U=.0059+.0046*COS(N)-.0182*COS(O)+.0004*COS(2*O)-.0005*COS(N+O)
210 RP=1.2847+U:RU=.7404-U:MP=(1.5572+U-D9)/.545
295 F=F+.0208*SIN(2*S):NEXT Q:END
950 A=J+1524:IF G=1 THEN A1=INT(J/36524.25-51.12264):A=A+1+A1-INT(A1/4)
960 X=INT(A/365.25-.3343)=INT(365.25*X)
970 Z=INT((A-D)/30.61)=A-D-INT(30.61*Z)+F:M=Z-1:Y=X-4716
980 IF M>12 THEN M=M-12
990 IF M<3 THEN Y=Y+1
992 D1=INT(D):H=24*(D-D1):H1=INT(H):M9=INT(60*(H-H1))
995 RETURN |
|
Sus |
|
|
Doru Dragan Membru
Data inscrierii: 02 Mar 2006 Mesaje: 4414
Motto: PER ASPERA AD ASTRA Localitate: Timisoara
|
Trimis: 23 Apr 2007 10:23 Download mesaj |
Titlul subiectului: |
|
|
|
Cele doua fete zambitoare din linia 960 si 970 sunt evident niste impartiri cu variabila D |
|
Sus |
|
|
pavel Membru
Data inscrierii: 22 Apr 2007 Mesaje: 7
Localitate: univers
|
Trimis: 23 Apr 2007 10:55 Download mesaj |
Titlul subiectului: |
|
|
|
... mulțumesc ... dar se pare că momentan nu pot downloda cartea (nu poate fi stabilită conexiunea cu serverul) ...
dragon a scris: | Eventuale explicatii. |
... nu sunt astronom sau fizician, dar cu o descriere pe scurt a formulelor folosite (baza teoretică a algoritmului implementat de Dvs.) cred că m-aș descurca ... |
|
Sus |
|
|
Doru Dragan Membru
Data inscrierii: 02 Mar 2006 Mesaje: 4414
Motto: PER ASPERA AD ASTRA Localitate: Timisoara
|
Trimis: 23 Apr 2007 11:05 Download mesaj |
Titlul subiectului: |
|
|
|
Ai incercat sa rulezi programul? Merge? Esti multumit de rezultate? |
|
Sus |
|
|
pavel Membru
Data inscrierii: 22 Apr 2007 Mesaje: 7
Localitate: univers
|
Trimis: 23 Apr 2007 13:34 Download mesaj |
Titlul subiectului: |
|
|
|
... nu știu ce compilator de BASIC ați folosit pt. program, dar eu am downlodat FreeBASIC și am primit câteva erori ... am încercat să identific și corectez problemele dar nu prea am avut succes ... însă mă pricep mai bine în C++ ... dacă binevoiți să expuneți pe scurt formulele folosite, eventual și o descriere a variabilelor, cred că sunt capabil să-l convertesc ... dacă nu, v-aș fi recunoscător și pentru o referință online pt. aceste formule (folosite în algoritm) ...
ps: ... sunt foarte interesat să înțeleg teoria din spatele algoritmului ... |
|
Sus |
|
|
Doru Dragan Membru
Data inscrierii: 02 Mar 2006 Mesaje: 4414
Motto: PER ASPERA AD ASTRA Localitate: Timisoara
|
Trimis: 23 Apr 2007 14:03 Download mesaj |
Titlul subiectului: |
|
|
|
Din pacate prea multe nu stiu sa-ti spun. Programul l-am luat dintr-un Sky and Telescope mai vechi iar algoritmul are in spate teoria din Astronomical Agorithms de Jean Meeus. Liniile 950 - 995 sunt conversia data calendar gregorian -> zi juliana. Programul ruleaza in Microsoft QBasic sau Borland TurboBasic. Nu exista nici un motiv sa nu ruleze in FreeBasic deoarece l-am facut utilizand instructiunile cele mai uzuale din Basic. In rest va trebui sa te descurci singur cu formulele care sunt destul de clare in BASIC si cartea lui Meeus care poate fi descarcata de la adresa indicata de red giant. Cifraraele pe care le vezi prin program sunt tot felul de coeficienti din dezvoltari Bessel. Miscarea Lunii este destul de complicata iar programul o da cu precizii de secunde pe o intindere de cateva mii de ani. |
|
Sus |
|
|
Doru Dragan Membru
Data inscrierii: 02 Mar 2006 Mesaje: 4414
Motto: PER ASPERA AD ASTRA Localitate: Timisoara
|
|
Sus |
|
|
larrylart Membru
Data inscrierii: 27 Dec 2006 Mesaje: 189
Localitate: Sibiu
|
|
Sus |
|
|
Doru Dragan Membru
Data inscrierii: 02 Mar 2006 Mesaje: 4414
Motto: PER ASPERA AD ASTRA Localitate: Timisoara
|
Trimis: 23 Apr 2007 17:00 Download mesaj |
Titlul subiectului: |
|
|
|
La adresa
http://individual.utoronto.ca/kalendis/lunar/index.htm
e o prezentare foarte completa a problemelor care apar in studiul miscarilor Lunii. Pe Wikipedia sunt o gramada de informatii (de altfel de acolo am ajuns la adresa de mai sus). Dar singurul program care-ti rezolva problema e cel pe care ti l-am dat. |
|
Sus |
|
|
pavel Membru
Data inscrierii: 22 Apr 2007 Mesaje: 7
Localitate: univers
|
Trimis: 23 Apr 2007 17:05 Download mesaj |
Titlul subiectului: |
|
|
|
... l-am testat cu QBasic și funcționează (vă mulțumesc) ... am verificat rezultatele prog. postat de Dvs. cu cele de la Lunar Perigee and Apogee Calculator (am înțeles că ambele folosesc algoritmul lui Jean Meeus) ... diferențele între rezultate este destul de mică (aprox. 2 ore & 30 min pt. anul 10 e.n.) ...
... acum dacă aș înțelege cum se ajunge la formulele aplicate în acest algoritm ar fi perfect ...
... algoritmii de la paginile respective parcă nu se aplică pt. primul secol ... |
|
Sus |
|
|
red giant Membru
Data inscrierii: 13 Mar 2007 Mesaje: 424
Localitate: Timisoara
|
Trimis: 23 Apr 2007 17:20 Download mesaj |
Titlul subiectului: |
|
|
|
pavel a scris: | se pare că momentan nu pot downloda cartea (nu poate fi stabilită conexiunea cu serverul) ... |
oops vezi PM |
|
Sus |
|
|
Doru Dragan Membru
Data inscrierii: 02 Mar 2006 Mesaje: 4414
Motto: PER ASPERA AD ASTRA Localitate: Timisoara
|
Trimis: 23 Apr 2007 17:35 Download mesaj |
Titlul subiectului: |
|
|
|
Pentru ca sa intelegi, trebuie sa studiezi tot materialul postat de larryart si de mine. Se pot face aproximari destul de bune pe calea pe care ai mers tu. Unele din programele la care te-a trimis larryart asta fac, dar pe o intindere de cateva sute de ani sau mii de ani trebuie tinut cont de tot felul de factori osculatori (nu ma intreba ce-s aia) dezvoltari de serii etc. Matematica de nivel innalt. Poate daca mi-as pune mintea as reusi sa o patrund, dar de cand au aparut calculatoarele si fac asta repede si bine ... Un pic ma mira diferenta de doua ore si 30 minute |
|
Sus |
|
|
|