2012-04-11 4 views
-3

아래 계산을 수행하고 결과를 반환 할 수있는 함수가 필요합니다. e의 의미는이 통계 공식에 의미가 있는지 모르겠습니다. 나는 자바 코드에 그 공식을 변환하는 방법을 모르겠습니다 ... 그 문제 ... 특히 전자 전력 점 .... 점 내가 함수 인수java/groovy에서이 계산을 수행하는 방법은 무엇입니까?

enter image description here

로 통과 할 변수입니다

이것은 숙제가 아닙니다.

+2

인가? 그렇다면 해당 태그를 추가하십시오. 그럼 당신이 뭘했는지 말해! –

+0

@ NathanielFord 이것은 집에서 할 일이 아닙니다. 우리는 몇 가지 통계적 모델을 가지고 있고 그것을위한 오라클을 만들고 있습니다. 올바른 정보가 없으면 투표를하지 마십시오. 나는 어떤 태그를 사용해야하는지 알기에 충분한 크레딧을 가지고있다. –

+1

@ 판게아 나는 질문을 좀 더 명확히해야한다고 생각한다. 시도한 것을 포인트의 범위와 같은 세부 정보와 함께 추가하는 것이 좋습니다. 나는이 말을 거의 잘못 생각하지만이 질문은 현재 상태에서 "gimmetehcodez"를 발생시킵니다. – Corbin

답변

2

e은 상수입니다. 값은 2.71828...입니다.

은이 알고 식인지 (아마도 과학적 패키지를 가지는 경우) 나도 몰라 e math constant

+0

감사합니다.이 정보는 내가 찾고 있었던 것입니다. –

2

볼 수 있지만이 작동하는 것 같다 :

import static Math.pow 

def finalScore(points) { 
    def e = Math.E 
    1000 * pow(e, points)/(1 + pow(e, points)) - 10 
} 

// lim when points -> 0 of finalScore(points) == 490 
assert finalScore(0) == 490 

// lim when points -> ∞ of finalScore(points) == 990 
assert Math.abs(finalScore(50) - 990) < 0.001 
5

코빈, 당신이 말했듯이 Java에서 your constantjava.lang.Math.E입니다.

그러나 메서드를 사용하고 싶을 것입니다.

귀하의 계산은 다음과 같습니다

ePoints = Math.exp(Points); 
finalScore = 1000 * (ePoints/(1 + ePoints)) - 10; 

당신은 사용하여 더 나은 정밀도를 달성하지만, 오버 플로우의 위험이 높은 수 있습니다 :이 숙제

ePoints = Math.exp(Points); 
finalScore = (1000 * ePoints)/(1 + ePoints) - 10; 
+1

+1 전적으로 말입니다. Math.exp = D를 깜박했습니다. – epidemian

관련 문제