J'ai une formule mathématique et j'ai eu du mal à comprendre et à convertir en code Java.Difficulté à comprendre une formule de mathématiques
[Image ci-joint la formule que je dois résoudre]
J'ai écrit un code et il n'aide pas beaucoup. Dans la formule I ont une valeur C et P et la nécessité de trouver N.
Voici le code que je l'ai utilisé
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))));
}
J'ai une formule Excel correspondant mais je ne sais pas comment convertir en 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
Je travaille sur ce autour d'une semaine et pas en mesure de l'obtenir resolved.It devrait être d'une grande aide si un corps peut résoudre ce problème. Merci d'avance.
Vivek
On ne sait pas ce que vous voulez. Votre code de module Java prend 'c', ' n' et 'p' mais ne renvoie rien. Avec votre code Excel VBA, il est totalement difficile de savoir quelles seront les différentes variables. Peut-être que 'intJ' sera' i', donc 'intC' sera' c' (10). Le 'intI' est' n' en boucle de 1 à 10000, mais pourquoi? Le 'intLTPD' (' B1') peut être 'p'. Alors pourquoi ne pas nommer les variables de manière significative selon la formule? Et qu'est-ce que 'intCL' (' B2'), comment est-il lié à 'intCalcF', qui est le résultat de la formule donnée? Et le code VBA écrit 10 lignes de résultats. Que fera exactement le code java? –
Alors s'il vous plaît modifier votre question et fournir plus d'informations si vous voulez obtenir des réponses. Btw .: Le terme 'n choisissez i' dans votre formule est [Coefficient binomial] (https://en.wikipedia.org/wiki/Byomial_coefficient). C'est ce que calcule [COMBIN] d'Excel (https://support.office.com/en-us/article/COMBIN-function-12a3f276-0a21-423a-8de6-06990aaf638a). –
Btw .: [BINOM.DIST] (https://support.office.com/en-us/article/BINOM-DIST-function-c5ae37b6-f39c-4be2-94c2-509a1480770c) - [Java] (http://lacinato.com/cm/software/othersoft/binomdist) –