Hello Astronomy

자동 번역입니다. 중국어 간체 원문을 참고하세요.

천문력의 오류는 입력, 공식 또는 기계에서 발생합니까?

동일한 결과는 입력, 알고리즘, 내부 작동, 최종 표시의 4단계를 거쳐야 합니다. 하나의 "정확성"으로 혼동하지 마십시오.

일반 알고리즘과 수치 컴퓨팅

프로그램은 소수점 이하 자릿수를 많이 표시할 수 있지만 입력 시간은 반올림될 수 있고 수식에는 용어가 생략될 수 있으며 내부 작업에서는 세부 정보가 손실될 수 있습니다. 이러한 단계를 하나씩 분해해야만 변경 사항이 실제로 유용한 부분을 알 수 있습니다. 일반적으로 출력 형식을 변경하는 것만으로는 이전 오류를 변경할 수 없습니다.

체험형 수업 열기 →

먼저 추측해 보세요

내부적으로 잘못 계산된 125°가 125.000000000°로 표시되면 누락된 소수점을 복구할 수 있나요?

정답과 설명 보기

할 수 없다 — 문자열 길이 연장은 입력, 알고리즘 또는 작업 중에 손실된 정보를 복원하지 않습니다.

그렇다면 경험과 과학을 연결하세요

입력한 내용이 먼저 폐기되나요?

T에 대해 소수점 이하 자릿수만 유지하는 것은 쿼리 시간을 먼저 굵게 표시하는 것과 같습니다. 나중에 정확한 수식을 사용하면 원래 입력을 찾을 수 없습니다.

입력 반올림 오류 ≠ 수식 근사 오류

공식 자체에서 어떤 용어가 생략되었습니까?

T² 및 T³를 적극적으로 생략하면 결과가 변경됩니다. 이는 알고리즘 선택에 따른 차이로, 마지막 줄에 0 몇 개를 추가해도 문제가 해결되지 않습니다.

선택된 전체 버전과 생략된 버전을 별도로 비교

기계는 제한된 세부 정보만 보유할 수 있습니다.

큰 각도는 먼저 수십만 도로 계산된 다음 정규화되므로 내부 유효 비트가 부족하게 노출됩니다. 작은 각의 cos가 1에 가까울 때 계산을 직접 반대로 하면 끼인각이 손실될 수 있습니다.

수치적으로 안정적인 계산 경로를 선택하세요.

마지막으로 표시 방법을 결정합니다.

원본 책의 Neptune 예에서는 전체 각도를 먼저 계산한 다음 반올림하여 19°를 얻습니다. 두 입력은 먼저 반올림되어 20°를 얻습니다. 표시된 자릿수는 입력 및 모델 정확도와 일치해야 합니다.

먼저 계산한 다음 의미 있는 최종 반올림을 수행합니다.

반올림, 산술 잘림, 부동 소수점 오류를 별도로 입력한 다음 동일한 입력을 사용하여 완전히 선택된 작성된 버전과 생략된 버전을 비교합니다. 결과 끝에 소수점 이하 자릿수를 몇 개 더 표시한다고 해서 과학 모델의 정확도가 자동으로 향상되는 것은 아닙니다.

한번 시도해 보세요

먼저 "내부적으로 6자리만"을 살펴본 다음 디스플레이를 9자리로 변경합니다. 답은 참조에 더 가깝지 않습니다. 확장 조건에 따라 입력, 알고리즘 및 내부 정밀도가 각각 달라집니다. 작은 각도와 최종 반올림 사례는 별도의 문제입니다.

한번보세요 →

기호를 외울 필요가 없습니다

T
J2000의 율리우스력 세기; 0.4는 대략 J2040.0입니다.
내부 유효 비트
이번 강의에서 시뮬레이션된 십진수 연산의 정밀도는 JS 하드웨어 형식을 수정하는 것이 아닙니다.
소수점 이하 자릿수 표시
문자열 형식, 계산 프로세스를 변경하지 않음
acos / atan2
수학적으로 동일하지만 수치적으로 다른 두 가지 소각 반전 경로

알고리즘, 정확성 및 적용 범위

이전 계량 레슨에서 가장 가까운 숫자 빼기를 반복하지 않도록 계산 목표에 필요한 정확도, 기계 정확도 및 최종 보고서 정확도 간의 차이에 대해 2장을 보충하십시오. 실험 0은 218.3164477+481267.88123421T−0.0015786T²+0.0000019T³의 달 평균 천구 경도 다항식을 사용합니다. 이것은 완전한 달의 실제 천구 경도가 아닌 2장의 잘린 책 공식입니다. 비교 입력 T는 반올림되고, 상위 항은 적극적으로 생략되고, 소수 유효 자릿수는 연산별로 시뮬레이션되며, 최종적으로 4개 레이어의 효과가 표시됩니다. 소위 참조란 측정된 실제 값이나 실제 천문력 오류의 상한이 아니라 동일한 책 공식의 배정밀도 수학적 결과입니다. 실험 1은 1/2장에서 작은 각도 경고를 사용합니다. atan2(sinθ, cosθ)는 acos(cosθ)와 비교됩니다. 전자는 여전히 손실된 입력 정보를 복구할 수 없습니다. 실험 2는 1996년 Sonneberg와 1.4+1.4에서 Neptune의 조기 반올림 오류를 재현합니다. 실험 3은 1.0000001의 연속 제곱을 재현하고 log1p/exp를 사용하여 책에 있는 참조 값과 독립적으로 확인합니다. 실험 4는 x←(9x+1)x−1을 재현하지만 수학적 고정 소수점 1/3은 부동 소수점 연산에서 벗어날 것입니다. 원본 책의 하드웨어별 출력은 모든 시스템에 대해 고정된 결과를 제공하도록 의도되지 않았습니다. 반복이 1e100을 초과하거나 무제한 시간 내에 중지되면 모델 T 범위는 ±1세기로 제한됩니다. 크기의 유효 자릿수에 대해서는 행성 조명/크기 코스를 참조하세요.

내 이해 확인

전체 공식은 생략된 버전과 다릅니다. 주로 어떤 수준의 오류가 발생합니까?

알고리즘 근사 — 생략된 용어는 수학적 계산 모델을 직접 변경합니다.

cos가 아주 작은 각도를 1로 반올림한 경우 acos를 사용하여 원래 각도를 복원할 수 있나요?

아니요, 더 유효한 정보를 유지하거나 안정적인 경로를 변경해야 합니다. — 동일한 입력 1은 원래 0 각도인지 아니면 매우 작은 0이 아닌 각도인지 구분할 수 없습니다.

3월 15.88을 단순히 3월 16일로 반올림해야 합니까?

아니요, 날짜는 아직 15일입니다. — 15일 자정 이후 0.88일을 의미합니다. 날짜 레이블 분할은 최종 숫자 반올림과 동일한 작업이 아닙니다.

먼저 오류가 어느 수준에 있는지 확인한 다음 데이터를 보완할지, 공식을 변경할지, 수치 방식을 변경할지, 아니면 보고된 자릿수만 조정할지 결정합니다.

Jean Meeus · Astronomical Algorithms, 2nd ed. · 아니요. 2 장

일반 알고리즘과 수치 컴퓨팅 · 모든 대화형 강좌