2010-01-14 6 views
0

엄청난 정렬은 2048/5/28에서 태양 중심선 경도가있는 (248.229, 66.631, 246.967, 249.605, 67.684) 인 2048/5/28로 발생합니다.선형 맞춤 대 행성 위치

행성은 경사로 67.823도를 가진 선 (솔을 통해) 에서 최대 0.875도이다. PA (248.229, 66.631, 246.967, 249.605, 67.684) = 나는 모두이 사건에 실패 두 가지 간단한 알고리즘을 시도

(67.823, 0.875) : 이 경우, 방법 (PA) 줄 것이다 모색 하나의 방법은 기울기 = 127.867, 편차 = 51.019 및 다른 것 271.867, 85.251을 제공한다. 나는 올바른 방법이 s = 163.466, d = 7.515를 줄 것이라고 생각한다.

솔의 반대편에있는 행성은 (거의) 같은 선상에있을 수 있다는 것이 가장 큰 문제입니다.

파이썬 또는 자바 스크립트가 높이 평가했습니다. 예. 편집하는 방법을 알아 냈습니다. 아니. 명백해야 이유로 작동하지 않았다 먼지 방법으로 벙어리

def score3(wList): 
    wSize = len(wList) 
    #print wList 

    first = wList[0] 
    d1 = first - 90.0 
    if d1 < 0.0: d1 += 360.0 
    d2 = first + 90.0 
    if d2 > 360.0: d1 -= 360.0 
    if d1 > d2: d1,d2 = d2,d1 

    sum = 0.0 
    for wx in range(0,wSize): 
    curr = wList[wx] 
    if (curr > d1) and (curr < d2): 
     new = curr 
    else: 
     new = (curr + 180.0) % 360.0 
     wList[wx] = new 
    sum += new 
    #print '%7.3f --> %7.3f' % (curr, new) 
    avg = sum/wSize 
    #print avg, wList 

    score = 0.0 
    for wx in range(0,wSize): 
    curr = wList[wx] 
    diff = curr - avg 
    if diff < 0: diff = - diff 
    score += diff 
    score /= wSize 

    return avg, score 
+1

숙제 일 수 있습니까? – Bobby

+0

수학 질문은 mathoverflow.net에 가야한다. – kennytm

+0

시도한 것을 게시 한 다음 방법에 대한 비평을받을 수 있습니다 – KevinDTimm

답변

0

: 데이터를 매핑하는 반면의 선택을위한 병적 될 수 있습니다. 내가 least squares approach을 추천 할 예정이지만, 방사형 모호성을 처리해야합니다. 당신은 최소화하기 위해 찾고있는 기능을 의미

은 다음과 같습니다

\sum (forceAngleIntoQuandrantI(a_i - A))^2 

또는 이에 해당하는. 즉, 지구는 제안 된 노선에서 90도 이상 벗어날 수 없습니다.

이제 내가 처음에 보았던 것처럼 강제 루틴을 사용하면 (이 답변의 편집 내역에서 여전히 찾을 수 있음) 문제는 더 이상 분석적이지 않으므로 반복적 인 접근 방법을 사용해야합니다 (Bisection Method 참조). 간단한 접근을 위해). 또는 당신은 단조 +에 대해 사분면 증가 I, IV 및 대칭 죄^2 (세타)를 참고하여 수 - 90도 라인과 매스 월드 링크에 설명 된 분석 방법을 사용하여 클리핑없이

\sum sin^4(a_i - A) 

을 최소화 (또는 원하는 경우 look at wikipdia).

관련 문제