Keplerjevi zakoni in Critticall
Z avtomatskim programiranjem, ki ga omogoča naše orodje Critticall lahko reproduciramo Keplerjeve zakone.
Critticall napiše program, ki iz oddaljenost od Sonca in obhodnega časa za znane planete najde splošen algoritem, ki to dvoje povezuje. V tem primeru je algoritem približen, ker ne upošteva ekscentričnost orbit.
Če želite to preizkusiti, si naložite Critticall in pripravite podatke.
Vhodni podatki
Merkur, 58,88
Venera, 108,225
Zemlja, 150,365
Mars, 228,687
Jupiter, 778,4332
Saturn, 1429,10760
Uran, 2871,30700
Neptun, 4504,60200
Pluton, 5913,90600
Prvi podatek je planet, drugi oddaljenost od Sonca v mil. km, tretji pa obhodni čas v dnevih.
Podatke moramo transformirati v obliko, ki jo razume program – Critticall.
// deklaracija variabel
$DECLAREINT distance orbit around bad
// empirični podatki o planetih
$INVAR distance(58) orbit(88)
$INVAR distance(108) orbit(225)
$INVAR distance(150) orbit(365)
$INVAR distance(228) orbit(687)
$INVAR distance(778) orbit(4332)
$INVAR distance(1429) orbit(10760)
$INVAR distance(2871) orbit(30700)
$INVAR distance(4504) orbit(60200)
$INVAR distance(5913) orbit(90600)
$RESVAR orbit bad
$PENVAL bad
$SHOWVAR bad
$WEIGHTS commands=0 lines=0
$MINIMIZE lines 10
// začetek segmenta z avtomatsko generirano kodo
$BES
// konec segmenta, v katerem Critticall zevoluira algoritem
$EES
// kontrola fitnesa
bad=around-orbit;
bad=abs(bad);
Rezultat:
distance+=-593;
__while (critticall2<=distance) {
____critticall2=around+critticall2;
____around*=14;
____around=distance^around;
}
around=critticall2^distance;
around+=710;
Podatke lahko razširimo še na tretji stolpec, razliko med perihelij in ahelijem planetov v milijonih kilometrov in algoritem bo zelo natančen (dobra aproksimacija Keplerjevih zakonov).
Rezultati veljajo tudi za asteroide (npr. Vesta).



