Professional Documents
Culture Documents
----0.587533451854704
0.609976577429289
0.531726450291263
-0.805133262797665
0.506452782672251
0.308651920551809
Epsilon =
84377.9387395123
N =
0.998155893267164
-0.0309229542408594
-0.0522358462844049
0.0305586467103593
0.999502861425323
-0.00775880878893576
0.0524498031193799
0.00614824394518754
0.998604635102966
end
if quit
fprintf('\nInput kosong, program keluar!\n');
clear all;
return;
elseif ~isequal(length(tgaw),4) | ~isequal(length(tgak),4) | ~isequal(length(tgtj),2)
fprintf('\nFormat masukan ada yang tidak sesuai. Ulangi input data\n');
else
break;
end
end % while
% Modified Julian Date, untuk menghitung selisih tanggal pd interpolasi
MJDaw = JD(tgaw(1),tgaw(2),tj(3),0) - 2400000.5;
MJDak = JD(tgak(1),tgak(2),tj(3),0) - 2400000.5;
MJDtj = JD(tgtj(1),tgtj(2),tj(3),0) - 2400000.5;
% --Interpolasi-dPsi = ((((tgak(3) - tgaw(3))/(MJDak - MJDaw))*(MJDtj - MJDaw)) + tgaw(3))*0.001
dEpsilon = ((((tgak(4) - tgaw(4))/(MJDak - MJDaw))*(MJDtj - MJDaw)) + tgaw(4))*0.001
elseif upper(tny) == 'T'
fprintf('\nMasukkan nilai dPsi dan dEpsilon langsung : \n');
temp5 = input('Nilai dPsi
: ','s');
temp6 = input('Nilai dEpsilon : ','s');
dPsi = sscanf(temp5,'%f')*0.001;
dEpsilon = sscanf(temp6,'%f')*0.001;
else fprintf('Masukkan Y/T ');
end
% -=====================HITUNGAN=====================% Julian Date ;
JDti = JD(Di,mi,yi,UTi)
JDtj = JD(Dj,mj,yj,UTj)
JD2000 = JD(1,13,1999,12)
T = (JDti - JD2000)/36525
t = (JDtj - JDti)/36525
% mean ti ke mean tj
Xi = (2306.2181 + 1.39656*T - 0.000139*(T^2))*t + ...
(0.30188 - 0.000344*T)*t^2 + 0.017998*t^3
z = (2306.2181 + 1.39656*T - 0.000139*(T^2))*t + ...
(1.09468 - 0.000066*T)*t^2 + 0.018203*t^3
theta = (2004.3109 - 0.855330*T - 0.000217*(T^2))*t - ...
(0.42665 + 0.000217*T)*t^2 + 0.041833*t^3
% TRANSFORMASI AKHIR DAN DISPLAY HASIL
fprintf('\n\n ----- HASIL HITUNGAN TRANSFORMASI -----\n');
P = R3(-z)*R2(theta)*R3(-Xi)
MEANti = [cos(Dekln)*cos(Alph); cos(Dekln)*sin(Alph); sin(Dekln)]
fprintf('\n\nKoordinat mean benda langit pada epoch tj : \n');
MEANtj = P*MEANti
fprintf('\nDalam Alpha dan deklinasi : \n');
AlphaMEANtj = atan(MEANtj(2)/MEANtj(1));
fprintf('Nilai Alpha (Mean) : \n %2.0f %2.0f %2f',decideg2deg(AlphaMEANtj));
DeklnMEANtj = atan(MEANtj(3)/sqrt(MEANtj(2)^2 + MEANtj(1)^2));
fprintf('\nNilai Deklinasi (Mean) : \n %2.0f %2.0f %2f\n\n',decideg2deg(DeklnMEANtj));
% mean tj ke true tj
Epsilon = (84381.448 - 46.8150*T - 0.00059*(T^2)+ 0.001813*(T^3)...
+ (-46.8150 - 0.00117*T + 0.005439*(T^2))*t - ...
(0.00059 + 0.005439*T)*(t^2) + 0.00813*(t^3))
N = R1(-Epsilon-dEpsilon)*R3(-dPsi)*R1(Epsilon)
fprintf('\nKoordinat true benda langit pada epoch tj : \n');
TRUEtj = N*MEANtj
fprintf('\nDalam Alpha dan deklinasi : \n');
AlphaTRUEtj = atan(TRUEtj(2)/TRUEtj(1));
fprintf('Nilai Alpha (True) : \n %2.0f %2.0f %2f ',decideg2deg(AlphaTRUEtj));
DeklnTRUEtj = atan(TRUEtj(3)/sqrt(TRUEtj(2)^2 + TRUEtj(1)^2));
fprintf('\nNilai Deklinasi (True) : \n %2.0f %2.0f %2f ',decideg2deg(DeklnTRUEtj));
fprintf('\n\n---------------------------------PROGRAM SELESAI---------------------------------');