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

MATLAB Discussion :

Signfication d'un code


Sujet :

MATLAB

  1. #1
    Membre éprouvé
    Inscrit en
    Novembre 2006
    Messages
    1 073
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 073
    Par défaut Signfication d'un code
    Bonjour
    je connais pas matlab, mais j'ai besoin qu'on mexplique du code

    Alors que fait cette fonction?
    merci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    cdfn(sqrt(rho)*rndn(1,Ns)+sqrt(1-rho)*rndn(N,Ns))
    sachant que:

    rho=0.5
    N=100
    Ns=100000

    est-ce que ca correspond a un vecteur de taille Ns, dont les elements de 1 a N sont egaux a : cdfn(sqrt(rho)*rndn(1)
    et les elements de N a Ns sont egaux a :
    cdfn(sqrt(rho)*rndn(1)+sqrt(1-rho)*rndn(1))

    Ensuite, que fait:
    sachant que
    lambda=50/1e4.

    merci

  2. #2
    Expert confirmé
    Avatar de Caro-Line
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    9 458
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 9 458
    Par défaut
    Sur le 1er code il est difficile de te répondre ne sachant ce que sont ni cdfn, ni rndn (je ne les ai trouvé nulle part sur le site de The Mathworks)

    Pour la 2ème expression :ln est le logarithme népérien.
    Le point dans ./ sert à faire l'opération membre à membre mais comme lambda est un scalaire.
    Si u est un vecteur on aura donc
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    %pour chaque i de 1 à longueur de u :
    tau(i)=-ln(1-u(i))/lambda

  3. #3
    Membre éprouvé
    Inscrit en
    Novembre 2006
    Messages
    1 073
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 073
    Par défaut
    euuhh ca c'est du Matlab ou autre chose?? :
    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
    new;
    library pgraph;
    Maturity = 5;
    N = 100;
    Nominal = 100;
    Lambda = 50/1e4;
    RR = 0.40;
    r = 0.03; // Taux d'int¶er^et
    Ns = 1e3; // Nombre de simulations
    Tm = seqa(0.25,0.25,Maturity/0.25); // Echeancier trimestriel
    dTm = 0.25;
    B0Tm = exp(-r*Tm); // B(t0,tm)
    rho = 0.5;
    u = cdfn(sqrt(rho)*rndn(1,Ns) + sqrt(1-rho)*rndn(N,Ns));
    tau = -ln(1-u)./lambda;
    Lower_Tranche = 0.05;
    Upper_Tranche = 0.10;
    MaxLoss = N * Nominal * (1-RR);
    Lower_Tranche = Lower_Tranche * MaxLoss;
    Upper_Tranche = Upper_Tranche * MaxLoss;
    Loss = zeros(rows(Tm),Ns);
    for i(1,Ns,1);
    Loss[.,i] = sumc( Nominal * (1-RR) * (tau[.,i] .<= Tm') );
    endfor;
    fn _max_(x,y) = x .* (x .> y) + y .* (x .<= y);

  4. #4
    Expert confirmé
    Avatar de Caro-Line
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    9 458
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 9 458
    Par défaut
    Je dirais que non :
    Donc en fait tu as récupéré un code et tu ne sais pas en quel langage il est ?
    C'est quoi ton objectif premier ?

  5. #5
    Rédacteur/Modérateur

    Avatar de Jerome Briot
    Homme Profil pro
    Freelance mécatronique - Conseil, conception et formation
    Inscrit en
    Novembre 2006
    Messages
    20 317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Freelance mécatronique - Conseil, conception et formation

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 317
    Par défaut
    Citation Envoyé par deubelte Voir le message
    euuhh ca c'est du Matlab ou autre chose??
    A première vue, plutôt du code Octave (présence de ENDFOR) mais la syntaxe est quasiment identique

  6. #6
    Membre éprouvé
    Inscrit en
    Novembre 2006
    Messages
    1 073
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 073
    Par défaut
    Donc en fait tu as récupéré un code et tu ne sais pas en quel langage il est ?
    Exactement.

    C'est quoi ton objectif premier ?
    reproduire ce code en VBA.

  7. #7
    Expert confirmé
    Avatar de Caro-Line
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    9 458
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 9 458
    Par défaut
    Citation Envoyé par deubelte Voir le message
    reproduire ce code en VBA.
    Cela ne me parait pas être un objectif en soi de traduire un code d'un langage à un autre

  8. #8
    Membre éprouvé
    Inscrit en
    Novembre 2006
    Messages
    1 073
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 073
    Par défaut
    Cela ne me parait pas être un objectif en soi de traduire un code d'un langage à un autre
    Disons plutot que j'etudie un algorithme, qui est codé dans ce langage, et je cherche a l'etudier

    En fait je pense que rndn(N,Ns) cree une matrice Ns*N ou N*Ns (?) de variable aleatoire entre 0 et 1.

    cdfn doit etre la normal cumulative distribution function

  9. #9
    Membre éprouvé
    Inscrit en
    Novembre 2006
    Messages
    1 073
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 073
    Par défaut
    Que signifie aussi le point dans: Loss[.,i] dans la boucle
    Comment comprendre cette boucle? (je crois que c'est le meme principe avec MatLab).

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    for i(1,Ns,1);
    Loss[.,i] = sumc( Nominal * (1-RR) * (tau[.,i] .<= Tm') );
    endfor;

  10. #10
    Rédacteur/Modérateur

    Avatar de Jerome Briot
    Homme Profil pro
    Freelance mécatronique - Conseil, conception et formation
    Inscrit en
    Novembre 2006
    Messages
    20 317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Freelance mécatronique - Conseil, conception et formation

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 317
    Par défaut
    Citation Envoyé par deubelte Voir le message
    Que signifie aussi le point dans: Loss[.,i] dans la boucle
    Comment comprendre cette boucle? (je crois que c'est le meme principe avec MatLab).
    Non, cette instruction n'existe pas dans MATLAB

  11. #11
    Membre éprouvé
    Inscrit en
    Novembre 2006
    Messages
    1 073
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 073
    Par défaut
    Alors dans Octave peut etre
    Il me semble avoir vu qqch comme ca j'en suis certain

  12. #12
    Rédacteur/Modérateur

    Avatar de Jerome Briot
    Homme Profil pro
    Freelance mécatronique - Conseil, conception et formation
    Inscrit en
    Novembre 2006
    Messages
    20 317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Freelance mécatronique - Conseil, conception et formation

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 317
    Par défaut
    Il faudra poser cette question dans le forum Octave

    Sinon, il reste toujours la possibilité de discuter de l'algorithme... dans le forum Algorithmes

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

Discussions similaires

  1. De la rapidité du code
    Par jfloviou dans le forum Contribuez
    Réponses: 233
    Dernier message: 29/05/2009, 02h17
  2. code pour interbase 6.0 et 6.5 de generateur
    Par tripper.dim dans le forum InterBase
    Réponses: 4
    Dernier message: 01/07/2002, 11h29
  3. [MFC](encapsulation ADO) ou placer le code
    Par philippe V dans le forum MFC
    Réponses: 2
    Dernier message: 13/06/2002, 14h58
  4. Explorateur de code C
    Par Zero dans le forum C
    Réponses: 14
    Dernier message: 06/06/2002, 09h41
  5. OmniORB : code sous Windows et Linux
    Par debug dans le forum CORBA
    Réponses: 2
    Dernier message: 30/04/2002, 17h45

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