2012-04-11 12 views
-3

以下の計算を行い、結果を返す関数が必要です。 eは、この統計式の意味をわかりません。私はJavaのコードにその式を変換する方法がわからない...それは問題...特に電子パワーポイント....ポイント私は、関数引数java/groovyでこの計算を行うには?

enter image description here

として渡される変数があるあります

これは宿題ではありません。

+2

ですか?その場合は、そのタグを追加します。あなたが試したことを教えてください! –

+0

@ NathanielFordこれは家事ではありません。私たちはいくつかの統計的モデルを持っており、私はそのためのオラクルを作成しています。適切な情報を持たずに投票しないでください。どのタグを使うべきかを知るには十分なクレジットがあるので –

+1

@Pangeaあなたの質問を少しはっきりさせる必要があると思います。お試しいただいた内容にポイントの範囲などの詳細を追加するといいでしょう。私はほとんどこれを言っていないと感じていますが、この質問は現在の状態で "gimmetehcodez"の傷つきます。 – Corbin

答えて

2

eは定数です。その値は2.71828...です。

ことは知っている式であるかない場合、私は(多分科学的なパッケージがそれを持っている)知らないe math constant

+0

Math.exp = Dを忘れた –

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であることがわかります。

おそらくMath.exp(Double d)メソッドを使用します。

あなたの計算は次のとおりです。

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

は、あなたが使用することにより、より優れた精度を達成するため、しかし、オーバーフローのリスクが高いことができます。この宿題は

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

+1私は完全に( 'e'は実際にはグーグルでは難しいかもしれませんが、それは単なる手紙なので、数学/統計と電子の組み合わせでも結構です) – epidemian

関連する問題