Ich habe eine mathematische Formel und hatte eine harte Zeit, dies zu verstehen und in Java-Code konvertiert.Schwierigkeit, eine mathematische Formel zu verstehen
[Befestigt Bild ist die Formel I zu lösen haben]
ich einige Code geschrieben haben, und es ist nicht viel helfen. In der Formel I-Wert für C und P und N.
Sie den Code unten finden müssen, ist die ich verwendet habe
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))));
}
ich eine entsprechende Excel-Formel haben, aber ich weiß nicht, wie es zu konvertieren in 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
ich auf diese um eine Woche arbeite und nicht in der Lage, es zu bekommen resolved.It eine große Hilfe sein sollte, wenn einige Körper diese lösen können. Danke im Voraus.
Vivek
Es ist nicht klar, was Sie wollen. Ihr Java-Modul-Code nimmt 'c', ' n' und 'p' an, gibt aber nichts zurück. Mit Ihrem Excel-VBA-Code ist völlig unklar, was die verschiedenen Variablen sein sollen. Vielleicht soll "intJ" "i" sein, also soll "intC" "c" (10) sein. Die 'intI' ist 'n' Looping von 1 bis 10000, aber warum? Der "intLTPD" ("B1") darf "p" sein. Warum also nicht die Variablen sinnvoll nach der Formel benennen? Und was ist 'intCL' (' B2'), wie verhält es sich zu 'intCalcF', was das Ergebnis der gegebenen Formel ist? Und der VBA-Code schreibt 10 Ergebniszeilen. Was genau soll der Java-Code tun? –
Bitte bearbeiten Sie Ihre Frage und geben Sie weitere Informationen, wenn Sie Antworten erhalten möchten. Btw .: Der Begriff 'n wähle i' in deiner Formel ist [Binomialkoeffizient] (https://en.wikipedia.org/wiki/Binomial_coefficient). Es ist, was Excel [COMBIN] (https://support.office.com/en-us/article/COMBIN-function-12a3f276-0a21-423a-8de6-06990aaf638a) berechnet. –
Btw .: [BINOM.VERT] (https://support.office.com/en-us/article/BINOM-DIST-function-c5ae37b6-f39c-4be2-94c2-509a1480770c) - [Java] (http://lacinato.com/cm/software/othersoft/binomdist) –