0
我有一個數學公式,並且很難理解這個並轉換爲Java代碼。難以理解一個數學公式
[附加的圖像是式I必須解決]我已經寫一些代碼
,它是沒有幫助多。在公式我有C和P值,並需要找到N.
下面是我的代碼已經使用
public static Double sigmaSum(int c, int n, Double p){
Double sum = 0.00;
for(int i=0; i<c; i++){
for(int j=i; j<n;j++){
sum += ((Math.pow(p, j)) * (Math.pow((1-p), (n-j))));
}
我有一個相應的Excel公式,但我不知道如何將它轉換到java中。
Option Explicit
Dim intLTPD, intCL, intC, intCalcF, intK, intComboNum, intComboDen1, intI, intJ, intComboDen2, intCombo, intL As Integer
Dim lngSampleSize As Long
Sub macBinSampPlan()
'
intLTPD = (Range("B1")/100)
intCL = Range("B2")/100
'intC = Int(Range("B3"))
Cells.Range("A6").Select
intCombo = 0
intCalcF = 0
intI = 0
intJ = 0
For intC = 0 To 10
For intI = 1 To 10000
For intJ = 0 To intC
If intI >= intJ Then
intCombo = Application.WorksheetFunction.Combin(intI, intJ)
intCalcF = intCalcF + (intCombo * (Application.WorksheetFunction.Power(intLTPD, intJ)) * (Application.WorksheetFunction.Power((1 - intLTPD), (intI - intJ))))
Else
Exit For
End If
Next intJ
If (intCalcF - (1 - intCL))/intCalcF <= intLTPD Then
lngSampleSize = intI
Exit For
Else
intCombo = 0
intCalcF = 0
End If
Next intI
ActiveCell = intC
ActiveCell.Offset(0, 1).Range("A1").Select
ActiveCell = lngSampleSize + 1
ActiveCell.Offset(1, -1).Range("A1").Select
Next intC
End Sub
我工作的這一個星期左右,並沒有能夠得到它resolved.It應該是,如果一些機構可以解決這個有很大的幫助。提前致謝。
Vivek
目前尚不清楚你想要什麼。您的Java模塊代碼採用'c', 'n'和'p',但不返回任何內容。用你的Excel VBA代碼,完全不清楚不同的變量應該是什麼。也許'intJ'應該是'i',所以'intC'應該是'c'(10)。 'intI'是從1到10000循環的'n',但是爲什麼? 'intLTPD'('B1')可能是'p'。那麼爲什麼不根據公式以有意義的方式來命名變量?什麼是'intCL'('B2'),它與給定公式的結果'intCalcF'有什麼關係? VBA代碼寫了10行結果。 java代碼究竟做什麼? –
所以如果你想得到答案,請編輯你的問題,並提供更多的信息。順便說一句:在你的公式中,'n選擇i'是[二項式係數](https://en.wikipedia.org/wiki/Binomial_coefficient)。這是Excel的[COMBIN](https://support.office.com/en-us/article/COMBIN-function-12a3f276-0a21-423a-8de6-06990aaf638a)計算的結果。 –
Btw .: [BINOM.DIST](https://support.office.com/zh-cn/article/BINOM-DIST-function-c5ae37b6-f39c-4be2-94c2-509a1480770c) - [Java](http:///lacinato.com/cm/software/othersoft/binomdist) –