IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

avec Java Discussion :

Traduction en Java


Sujet :

avec Java

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2012
    Messages
    233
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2012
    Messages : 233
    Points : 92
    Points
    92
    Par défaut Traduction en Java
    Bonjour à tous,

    Je cherche à traduire un programme depuis vba vers java!
    J'espère que je suis sur le bon forum...
    Le programme en vba est le suivant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
     
    Function MonteCarloStandardOption ( 
      CallPutFlag As String, S As Double, X As Double, T As Double,  
      r As Double, b As Double, v As Double,  
      nSteps As Integer, nSimulations As Integer) As Double 
      Dim dt As Double, St As Double 
      Dim Sum As Double, Drift As Double, vSqrdt As Double 
      Dim i As Integer, j As Integer, z As Integer 
      dt = T / nSteps 
      Drift = (b - v^2 / 2) * dt 
      vSqrdt = v * Sqr(dt) 
      If CallPutFlag=”c” Then 
        z = 1   
      ElseIf CallPutFlag=”p” Then 
        z = -1 
      EndIf 
      For i = 1 to nSimulations 
        St = S 
        For j = 1 to nSteps 
          St = St * Exp(Drift + vSqrdt * Application.NormalInv(Rnd(),0,1)) 
        Next 
        Sum = Sum + Max (z * (St – X), 0) 
      Next 
      MonteCarloStandardOption = Exp (-r * T) * (Sum / nSimulations) 
    End Function

    J'ai déjà codé ceci en java:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    public double calcul(){
    			int z = 0; 
    			double st; 
    			double dt = t/ nSteps;
    			double drift = (b - (v*v) / 2) * dt; 
    			double vSqrdt = v * java.lang.Math.sqrt(dt);
    			Random rand = new Random(); 
    			double sum = 0; 
     
    			if ("c".equals(callPutFlag)){
    				z=1; 
    			}
    			else if ("p".equals(callPutFlag)){
    				z=-1; 
    			}
    			for (int i=1; i<=nSimulations; i++){
    				st = s; 
    				for (int j=1; j<nSteps; j++){
    					st = st * java.lang.Math.exp(drift + vSqrdt * rand.nextGaussian()); 
    				}
    				sum = sum + java.lang.Math.max(z*(st-x), 0); 
    			}
    			double result = java.lang.Math.exp((-r*t)*(sum/nSimulations)); 
     
    			return result; 
    		}

    Eclipse compile mais le prix affiché par mon prg java n'est pas le bon...

    Est-ce que quelqu'un pourrait me dire ce qu'il en pense? J'ai déjà vérifier et j'ai traduit tel que je le comprend ...

    Merci d'avance!

  2. #2
    Membre éclairé Avatar de JoeChip
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    536
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2008
    Messages : 536
    Points : 803
    Points
    803
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    for (int j=1; j <= nSteps; j++){
    Sans danger si utilisé conformément au mode d'emploi.

    (anciennement BenWillard, enfin moins anciennement que ... enfin bon c'est une longue histoire... Un genre de voyage dans le temps...)

  3. #3
    Membre émérite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Septembre 2008
    Messages
    1 190
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2008
    Messages : 1 190
    Points : 2 657
    Points
    2 657
    Par défaut
    Le petit = qui change tout

    Pour résoudre ton problème, tu aurais tracer ton programme, et tu aurais détecter le cycle manquant!

  4. #4
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 551
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 551
    Points : 21 607
    Points
    21 607
    Par défaut
    Je me rappelle plus l'approximation de Monte-Carlo, mais il y a pas une erreur de parenthèses sur l'exponentielle de la fin, aussi ?
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  5. #5
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Points : 15 059
    Points
    15 059
    Par défaut
    Citation Envoyé par thelvin Voir le message
    Je me rappelle plus l'approximation de Monte-Carlo, mais il y a pas une erreur de parenthèses sur l'exponentielle de la fin, aussi ?
    Non, les parenthèses sont correcte.

    @bilou_12, les classes de la package java.lang sont importées automatiquement, si tu n'as pas d'autre class Math utilisée dans la class, tu peux simplement écrire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Math.exp((-r*t)*(sum/nSimulations))
    A+.

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2012
    Messages
    233
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2012
    Messages : 233
    Points : 92
    Points
    92
    Par défaut
    Merci à tous! Il y avait en effet une petite erreur de parenthèse à la fin...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Traduction UML - Java
    Par camloc dans le forum NetBeans
    Réponses: 1
    Dernier message: 21/12/2010, 18h31
  2. Traduction Concurrence Java (Oracle)= autorisation légale?
    Par kenji_getpowered dans le forum Contribuez
    Réponses: 4
    Dernier message: 12/11/2010, 13h01
  3. Variable d'environnement, traduction .bat -> java
    Par babap1 dans le forum Langage
    Réponses: 12
    Dernier message: 17/07/2008, 20h03
  4. pb de traduction c++ à java
    Par marianna dans le forum Langage
    Réponses: 3
    Dernier message: 02/04/2008, 12h21
  5. [debutant]traduction de java
    Par Maitrresse dans le forum Langage
    Réponses: 3
    Dernier message: 20/04/2007, 16h02

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo