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) –