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 :

Problème de compilation


Sujet :

MATLAB

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Inscrit en
    Mai 2010
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Mai 2010
    Messages : 2
    Par défaut Problème de compilation
    Bonjour

    Voici mon programme:

    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
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    function [BlackScholes,PrixDiffFinie] = DifferencePutAmericain(K,S,Smax,Interet,Volatilite,T)
    %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    %%%%%%%%%%%%%%%%%%%%%%%%%
    % Méthode des différences finies explicite pour le calcul d'un put
    % américain
    % K             = Strike de l'option
    % S             = Prix du sous-jacent
    % Smax          = Prix du sous-jacent maximale
    % Interet       = Taux d'intérêt sans risque donc sous la
    %                 probabilité risque neutre
    % Volatilite    = Volatilité du sous-jacent
    % T             = Maturité
    %%%%%%%%%%%%%%%%%%%%%%%%%
    %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     
    % Initialisation de la grille
     
    N = 150; % Nombre de pas pour le temps;
    M = 300; % Nombre de pas pour le prix du sousjacent;
    Pasp = Smax/M;
    Past= T/N;
     
     
    % Conditions de bords
     
        % Payoff à maturité
     
        for j = 1 : M+1
            f(j,N+1) = max(K - (j-1)*Pasp,0);
        end;
     
        % Prix à l'origine égale au strike
     
        for i = 1 : N+1
            f(1,i) = K;
        end;
     
        for i = 1 : N+1
            f(M+1,i) = 0;
        end;
     
    % Calcul des paramètres u,v,w du modèle
     
    for j = 1 : M-1
    u(j) = 1/(1 + Interet*Past) * (-0.5*Interet*j*Past + 0.5*Volatilite^2*j^2*Past);
    v(j) = 1/(1 + Interet*Past) * (1 - Volatilite^2*j^2*Past);
    w(j) = 1/(1 + Interet*Past) * (0.5*Interet*j*Past + 0.5*Volatilite^2*j^2*Past);
    end;
     
    % Calcul (Résolution du système Ax = d)
     
        % Création de la matrice A
     
        for j = 2 : M
            A(j,j-1) = u(j-1);
            A(j,j) = v(j-1);
            A(j,j+1) = w(j-1);
        end;
        A(1,1) = 1;
        A(M+1,M+1) = 1;
     
        % Résolution du système
     
        for i = N:-1:1
            f(:,i) = A*f(:,i+1); % Calculdes valeurs de l'option
            % Conditions américaines
            for j = 1 : M+1
                if f(j,i) < (K-(j-1)*Pasp)
                    f(j,i) = (K-(j-1)*Pasp);
                end;
            end;
        end;
     
    [call,put] = blsprice(S,K,0,T,Volatilite,0);
    BlackScholes=put
    PrixDiffFinie=f(S/Pasp+1,1)
     
    end
    Le probleme est que lorsque je compile j'obtiens ce message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    ??? Input argument "Smax" is undefined.
     
    Error in ==> DifferencePutAmericain at 20
    Pasp = Smax/M;
    Je ne vois pas le probleme. A mon avis ce doit etre un probleme de réglage de mon logiciel.
    Merci de votre aide

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour julienmarais,

    Input argument "Smax" is undefined
    Cela veut tout dire, tu n'as pas défini ta variable Smax

    Comment est-ce-que tu effectues l'appel de ta fonction?

  3. #3
    Candidat au Club
    Inscrit en
    Mai 2010
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Mai 2010
    Messages : 2
    Par défaut
    Problème résolu. En fait cela était dû à un bug de la compilation car j'ai réinstallé Matlab et cela fonctionne maintenant.Merci en tout cas de m'avoir répondu Winjerome

Discussions similaires

  1. problème de compilation sous visual C++
    Par fabmili dans le forum MFC
    Réponses: 4
    Dernier message: 08/02/2004, 19h52
  2. problème de compil devc++ socket
    Par stefdem dans le forum Autres éditeurs
    Réponses: 2
    Dernier message: 11/12/2003, 11h33
  3. Réponses: 1
    Dernier message: 29/10/2003, 12h16
  4. Problème de compilation de la DLL du XMLRad
    Par [DreaMs] dans le forum XMLRAD
    Réponses: 2
    Dernier message: 16/04/2003, 16h46
  5. Réponses: 1
    Dernier message: 27/05/2002, 01h44

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