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 :

Les valeurs d'un vecteur qui changent à la fin de mon programme


Sujet :

MATLAB

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2011
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2011
    Messages : 20
    Points : 10
    Points
    10
    Par défaut Les valeurs d'un vecteur qui changent à la fin de mon programme
    Bonsoir tout le monde,

    J'espère que vous allez bien. je me permets de vous interpeller car je suis nouveau sur MatLab et j'ai un petit soucis.

    Mon but est de faire un programme qui réplique une technique de gestion d’assurance de portefeuille (OBPI).

    J'ai bien fait mon programme, il fonctionne sauf...à la fin! Je m'en vais vous expliquer!

    Dans ma fonction, je génère des prix d'actions,cependant, la fonction me retourne un vecteur de prix dont les valeurs sont trop petites.

    j'ai alors utilisé le débogueur pour voir au fur et à mesure le vecteur "prix" se constituer. Il se constitue très bien, il génère des valeurs cohérentes

    Ex : (50 54,5 53,6 etc...)

    Cependant, une fois qu'il arrive à la fin de ma boucle et que j’exécute ma fonction, j'ai des valeurs telles que :
    (0,567 0,554 etc...)

    Il semblerait que dès que le programme est fini, mon vecteur de prix est effacé par de nouvelles valeurs qui sortent de nulle part...

    Auriez-vous une idée de la nature de ce problème ou des pistes de réflexion?

    Je vous remercie, et bonne nuit!

  2. #2
    Membre régulier
    Inscrit en
    Décembre 2007
    Messages
    172
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 172
    Points : 107
    Points
    107
    Par défaut
    poste ton code (en enlevant l'inutile s'il est trop long) car la y'a pas beaucoup d'indices ..

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2011
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2011
    Messages : 20
    Points : 10
    Points
    10
    Par défaut
    Bonjour,

    C'est vrai que ça va être plus facile pour discuter! J'ai mis le début de ma fonction et une partie des calculs de ma boucle. Dans la boucle je calcule d'autres variables, des ratios mais je ne pense pas que le problème vienne de là donc du coup je ne vous les présente pas.


    En fait, c'est le vecteur pa correspond au vecteur des différents prix de l'action. Une partie du but de la fonction, est de demander s qui est le prix de l'action à l'instant 1, puis de placer cette valeur s comme 1ère valeur du vecteur de prix pa donc on pa(1)=s. Ensuite, pa(2), pa(3),...,pa(54) sont simulés.
    Alors ça donne ceci :
    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
    function [wact, wbons, pa, bons, d1, Nd1, d2, Nd2, port,eps,mult] = obpi2(s)
    %Définition des variables
    x = 50;
    t = 1;
    r = 0.08;
    mu = 0.15;
    sigma = 0.75;
    port(1)=1000; 
    pas = 52;
    dt = t/pas;
    pa(1)=s;
    
    for i = 1 : pas
    
        %On génère le nouveau prix de l'actions     
        pa(i+1:i+1)= pa(i:i) + (mu * pa(i:i)* dt) + (sigma * pa(i:i)* eps(i:i) * sqrt(dt));
    end
    Sauf que le problème, c'est que une fois la fonction générée, le vecteur de prix me donne des tous petits prix...bizarre! Alors que lorsque j'utilise le débogueur, je vois le vecteur de prix se créer et proposer des prix convenables.

    Bien entendu, si vous avez d'autres questions, n'hésitez pas je me tiens à votre disposition.

    Si vous le souhaitez, je peux mettre en pièce jointe le script.

    Très bon après midi à vous,

    Mistigri

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

    Le code que tu nous montre semble bien fonctionner...
    N'y-a-t'il pas d'autres endroits par la suite où tu modifies ta variable pa?
    Lorsque tu appelles ta fonction, as-tu bien mis tes variables dans le bon ordre? (pa en 3ème position)

    Remarque: pa(i+1:i+1)= pa(i:i) + (mu * pa(i:i)* dt) + (sigma * pa(i:i)* eps(i:i) * sqrt(dt)); peut s'écrire plus simplement:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    pa(i+1)= pa(i) + (mu * pa(i)* dt) + (sigma * pa(i)* eps(i) * sqrt(dt));

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2011
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2011
    Messages : 20
    Points : 10
    Points
    10
    Par défaut
    Bonjour Winjerome,

    Merci de ta réponse, déjà j'ai remplacé l'ensemble des i+1:i+1 par i+1,ça allège le code, ce qui est toujours appréciable

    En fait, ta réponse m'a fait avancé... comme je te l'ai dit je suis débutant...!

    Première chose

    En fait, je pensais qu'en tapant l'entête de fonctions suivante :

    function [wact, wbons, pa, bons, d1, Nd1, d2, Nd2, port,eps,mult] = obpi2(s)

    La fonction obpi2 me renverrait l'ensemble des vecteurs wact, wbons, pa,bons,etc. à partir du moment où j'aurais donné une valeur à s en tapant par exemple la commande suivante : obpi2 (50)

    Mais il me semble que j'ai mal compris la façon dont est formulé l'entête d'une fonction.

    Pourrais-tu me confirmer si j'ai raison ou si j'ai tort? Je souhaiterais effectuer ma fonction et à la suite de cette execution pouvoir travailler sur les différents vecteurs....est-ce possible avec une fonction ? Existe-t-il un autre moyen?


    2ème chose

    En fait, à la fin de ma fonction j'ai mis :

    obpi2=pa

    et donc dans ce cas là, la fonction me retourne bien le vecteur de prix avec des bonnes valeurs.

    Mon problème principal est que je ne sais pas comment faire pour faire ressortir de la fonction différents vecteurs.

    J'espère que j'ai été à peu prêt clair...j'espère!

    Très bonne soirée à vous,

    Cordialement,

    Mistigri

  6. #6
    Modérateur

    Homme Profil pro
    Ingénieur en calculs scientifiques
    Inscrit en
    Août 2007
    Messages
    4 639
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Ingénieur en calculs scientifiques

    Informations forums :
    Inscription : Août 2007
    Messages : 4 639
    Points : 7 614
    Points
    7 614
    Par défaut
    Bonjour,

    en fait ce serait un peu plus clair si tu nous donnais le code complet et si tu nous disais ce que tu tapes exactement pour appeler ta fonction.

    Donc si ta fonction est défini comme tu l'as mis dans ton message, en l'appelant ainsi :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    [wact, wbons, pa, bons, d1, Nd1, d2, Nd2, port,eps,mult] = obpi2(s)
    tu récupères l'ensemble des vecteurs tels qu'ils sont à la fin de l'exécution de la fonction. Et tu peux bien évidemment ré-utiliser ces vecteurs.

    Citation Envoyé par Mistigri5 Voir le message

    2ème chose

    En fait, à la fin de ma fonction j'ai mis :

    obpi2=pa

    et donc dans ce cas là, la fonction me retourne bien le vecteur de prix avec des bonnes valeurs.
    C'est étonnant... et donc j'en reviens à ma première phrase.
    Pour une bonne utilisation des balises code c'est ici!
    Petit guide du voyageur MATLABien : Le forum La faq Les tutoriels Les sources


    La nature est un livre écrit en langage mathématique. Galilée.

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2011
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2011
    Messages : 20
    Points : 10
    Points
    10
    Par défaut
    Voila le code...j'espère qu'il est assez clair!
    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
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    function [wact, wbons, pa, bons, d1, Nd1, d2, Nd2, port,eps,mult] =  obpi2(s)
    %Définition des variables
    x = 50;
    t = 1;
    r = 0.08;
    mu = 0.15;
    sigma = 0.75;
    port(1)=1000; 
    pas = 52;
    dt = t/pas;
    pa(1)=s;
     
    %Créons le code pour la première semaine
     
                 %Calculons d1,N(d1), N(-d1) 
            d1(1)= log(s/x)+( r + 0.5 * sigma * sigma ) * t / (sigma * sqrt(t));
            Nd1(1)= normcdf(d1(1));
            Nminusd1(1) = normcdf(-d1(1));
     
                 %Calculons d2,N(d2), N(-d2)
            d2(1)=d1(1) - sigma * sqrt(t);
            Nd2(1)= normcdf(d2(1));
            Nminusd2(1) = normcdf(-d2(1));
     
                 %Calculons la valeur du put
            put0(1) = (-s * Nminusd1(1)) + ( x * exp( -1 * r * t ) * Nminusd2(1));
                 %Calculons les proportions d'actions et de bons
            wact(1) = (s * Nd1(1)) / (s + put0(1));
            wbons(1) = 1 - wact(1);
     
                 %Calculons les valeurs d'actions et de bons contenues dans le portefeuille
            act(1) = wact(1) * port(1);
            bons(1) = port(1) - act(1);
            port(1) = act(1)+ bons(1);
     
            eps(1)=0;
            mult(1)=0;
     
     
    %Semaines 1 à 51
            %Act,bons,port font références aux proportion en € d'actions, d'obligations et le montant total du portefeuille
     
    for i = 1 : pas
     
       %On calcules la nouvelle valeur des obligations
            bons (i+1:i+1) = bons(i) * exp(r / pas);
     
       %On crée le vecteur eps pour ranger les valeurs générés aléatoirement
            a=rand
            eps(i+1:i+1) = norminv(a);     
     
       %On génère le nouveau prix de l'actions     
            pa(i+1:i+1)= pa(i) + (mu * pa(i)* dt) + (sigma * pa(i)* eps(i) * sqrt(dt));
     
       %Mult est le ratio du nouveau prix de l'action sur l'ancien prix
            mult(i+1:i+1) = pa(i+1:i+1) / pa(i:i);
            act(i+1:i+1) = act(i:i) * mult(i+1:i+1);        
            port(i+1:i+1) = act(i+1:i+1) + bons(i+1:i+1);
     
     
    %Début de la semaine 1
        %On commence par calculer les différentes variables du temps
            %La variable du temps classique
                dur(i:i) = i * dt;
            %La variable du temps restant
                tstar(i:i) = t - dur(i:i);    
                num (i:i) = log(pa(1)/x)+((r+0.5*sigma^2)*(tstar(i:i)));
        %On calcule des différents paramètres de la formule de BxS
            %On calcule d1,N(d1),N(-d1)     
                d1(i+1:i+1) = num / (sigma * sqrt(tstar));  
                Nd1(i+1:i+1) =normcdf(d1(i+1:i+1)) ;   
                Nminusd1(i+1:i+1) = normcdf(-d1(i+1:i+1));
     
            %On calcule d2,N(d2),N(-d2)
                d2(i+1:i+1) = d1(i+1:i+1) - sigma * sqrt(t - i * dt);           
                Nd2(i+1:i+1) = normcdf(d2(i+1:i+1));
                Nminusd2(i+1:i+1) = normcdf(-d2(i+1:i+1));
     
        puts(i+1:i+1) = ( -pa(i+1:i+1) * Nminusd1(i+1:i+1)) + (x * exp(-r * (t - i * dt)) * Nminusd2(i+1:i+1));
     
        %Calcul des proportions et des valeurs totales des obligations 0-coupon et actions
     
        wact(i+1:i+1) = (pa(i+1:i+1) * Nd1(i+1:i+1)) / (pa(i+1:i+1) +puts(i+1:i+1));
        wbons(i+1:i+1) = 1 - wact(i+1:i+1);
        act(i+1:i+1) = wact(i+1:i+1) * port(i+1:i+1);
        bons(i+1:i+1) = wbons(i+1:i+1) * port(i+1:i+1);     
        port(i+1:i+1) = act(i+1:i+1) + bons(i+1:i+1);
    end
    Merci encore, et si vous voulez des petits renseignements,n'hésitez pas à me demander!

  8. #8
    Rédacteur/Modérateur

    Avatar de Jerome Briot
    Homme Profil pro
    Freelance mécatronique - Conseil, conception et formation
    Inscrit en
    Novembre 2006
    Messages
    20 302
    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 302
    Points : 53 163
    Points
    53 163
    Par défaut
    Tu ne sembles pas avoir bien compris ce que Winjerome t'a dit au sujet des indices.

    Quand tu écris i+1:i+1, tu demandes à MATLAB de générer un vecteur avec des valeurs du type début:fin (ou plutôt début:incrément:fin avec ici incrément qui vaut 1).

    Donc à la première itération de i, pour i = 1 tu obtiens 2:2 ce qui revient tout simplement à écrire 2.

    Il n'est pas nécessaire de répéter l'indice.

    Autre chose, renomme la variable eps car c'est déjà le nom d'une fonction MATLAB.
    Ingénieur indépendant en mécatronique - Conseil, conception et formation
    • Conception mécanique (Autodesk Fusion 360)
    • Impression 3D (Ultimaker)
    • Développement informatique (Python, MATLAB, C)
    • Programmation de microcontrôleur (Microchip PIC, ESP32, Raspberry Pi, Arduino…)

    « J'étais le meilleur ami que le vieux Jim avait au monde. Il fallait choisir. J'ai réfléchi un moment, puis je me suis dit : "Tant pis ! J'irai en enfer" » (Saint Huck)

  9. #9
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2011
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2011
    Messages : 20
    Points : 10
    Points
    10
    Par défaut
    Bonjour,


    Merci de ta réponse, je vais effectuer l'ensemble des modifications et je vais reposter le code modifié tout à l'heure.

    En tout cas, merci!

  10. #10
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2011
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2011
    Messages : 20
    Points : 10
    Points
    10
    Par défaut
    Ola,

    Je viens de modifier l'ensemble des X(i+1:i+1) en X(i+1). de plus, j'ai renommé la varaible "eps" en variable "aleatoire". Ce qui donne le script 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
    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
    79
    80
    81
    82
    83
    84
    85
     
    function [wact, wbons, pa, bons, d1, Nd1, d2, Nd2, port,aleatoire,mult] =  obpi2(s)
    %Définition des variables
    x = 50;
    t = 1;
    r = 0.08;
    mu = 0.15;
    sigma = 0.75;
    port(1)=1000; 
    pas = 52;
    dt = t/pas;
    pa(1)=s;
     
    %Créons le code pour la première semaine
                 %Calculons d1,N(d1), N(-d1) 
            d1(1)= log(s/x)+( r + 0.5 * sigma * sigma ) * t / (sigma * sqrt(t));
            Nd1(1)= normcdf(d1(1));
            Nminusd1(1) = normcdf(-d1(1));        
                 %Calculons d2,N(d2), N(-d2)
            d2(1)=d1(1) - sigma * sqrt(t);
            Nd2(1)= normcdf(d2(1));
            Nminusd2(1) = normcdf(-d2(1));
                 %Calculons la valeur du put
            put0(1) = (-s * Nminusd1(1)) + ( x * exp( -1 * r * t ) * Nminusd2(1));
                 %Calculons les proportions d'actions et de bons
            wact(1) = (s * Nd1(1)) / (s + put0(1));
            wbons(1) = 1 - wact(1);
                 %Calculons les valeurs d'actions et de bons contenues dans le portefeuille
            act(1) = wact(1) * port(1);
            bons(1) = port(1) - act(1);
            port(1) = act(1)+ bons(1);
     
     
            aleatoire(1)=0;
            mult(1)=0;
     
     
    %Semaines 1 à 51
            %Act,bons,port font références aux montants
     
    for i = 1 : pas
     
       %On calcules la nouvelle valeur des obligations
            bons (i+1) = bons(i) * exp(r / pas);
     
       %On crée le vecteur aleatoire pour ranger les valeurs générés aléatoirement
            a=rand
            aleatoire(i+1) = norminv(a);     
     
       %On génère le nouveau prix de l'actions     
            pa(i+1)= pa(i) + (mu * pa(i)* dt) + (sigma * pa(i)* aleatoire(i) * sqrt(dt));
     
       %Mult est le ratio du nouveau prix de l'action sur l'ancien prix
            mult(i+1) = pa(i+1) / pa(i);
            act(i+1) = act(i) * mult(i+1);        
            port(i+1) = act(i+1) + bons(i+1);
     
     
    %Début de la semaine 1
        %On commence par calculer les différentes variables du temps
            %La variable du temps classique
                dur(i) = i * dt;
            %La variable du temps restant
                tstar(i) = t - dur(i);    
                num (i) = log(pa(1)/x)+((r+0.5*sigma^2)*(tstar(i)));
        %On calcule des différents paramètres de la formule de BxS
            %On calcule d1,N(d1),N(-d1)     
                d1(i+1) = num / (sigma * sqrt(tstar));  
                Nd1(i+1) =normcdf(d1(i+1)) ;   
                Nminusd1(i+1) = normcdf(-d1(i+1));
     
            %On calcule d2,N(d2),N(-d2)
                d2(i+1) = d1(i+1) - sigma * sqrt(t - i * dt);           
                Nd2(i+1) = normcdf(d2(i+1));
                Nminusd2(i+1) = normcdf(-d2(i+1));
     
        puts(i+1) = ( -pa(i+1) * Nminusd1(i+1)) + (x * exp(-r * (t - i * dt)) * Nminusd2(i+1));
     
        %Calcul des proportions et des valeurs totales des obligations 0-coupon et actions
        wact(i+1) = (pa(i+1) * Nd1(i+1)) / (pa(i+1) + puts(i+1));
        wbons(i+1) = 1 - wact(i+1);
        act(i+1) = wact(i+1) * port(i+1);
        bons(i+1) = wbons(i+1) * port(i+1);     
        port(i+1) = act(i+1) + bons(i+1);
    end
    Je viens de remarquer quelques chose...lorsque j’exécute ce code dans matlab et que je tappe, par exemple j'obtiens différents chiffres mais je ne sais pas à quoi ils sorrespondent (1er problème). Suite à cette execution, si je veux extraire le vecteur de prix pa, je tape donc et le vecteur de prix me donne des prix absurdes.

    Par contre, si à la fin de mon script, j'ajoute la ligne de code suivante :
    Alors lorsque j’exécute la fonction en tapant j'obtiens toujours les chiffres inconnus du problème 1 mais juste avant ces chiffres j'ai bien un vecteur de prix qui est affiché et qui me donne des prix corrects!

    Au final j'en conclu que mes calculs sont bons, la boucle est bonne, par contre c'est plus pour l'extraction que j'ai du mal....

  11. #11
    Rédacteur/Modérateur

    Avatar de Jerome Briot
    Homme Profil pro
    Freelance mécatronique - Conseil, conception et formation
    Inscrit en
    Novembre 2006
    Messages
    20 302
    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 302
    Points : 53 163
    Points
    53 163
    Par défaut
    Citation Envoyé par Mistigri5 Voir le message
    Par contre, si à la fin de mon script, j'ajoute la ligne de code suivante :
    Tu ne dois pas faire ça.

    OBPI2 est le nom de la fonction que tu as écrites.
    Ce nom ne peut être situé qu'à droite du signe d'affectation "="

    Si tu le places à gauche du signe "=", alors tu demandes à MATLAB de définir une variable qui aura le même nom que ta fonction mais surtout, qui aura prédominance sur celle-ci. La fonction ne sert donc plus à rien. C'est la raison pour laquelle je t'ai conseillé de renommer la variable eps dans ton précédent code.

    Voici un exemple simple de ce qu'il ne faut pas faire avec par exemple la fonction RAND de MATLAB :

    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
    >> x = rand(1,5)
     
    x =
     
        0.1190    0.4984    0.9597    0.3404    0.5853
     
    >> rand = [8 21 10 9 55]
     
    rand =
     
         8    21    10     9    55
     
    >> y = rand(1,3)
     
    y =
     
        10
    (penser à faire un clear rand après l'exécution du code ci-dessus )

    Il faut toujours garder des noms différents entre les variables et les fonctions
    Ingénieur indépendant en mécatronique - Conseil, conception et formation
    • Conception mécanique (Autodesk Fusion 360)
    • Impression 3D (Ultimaker)
    • Développement informatique (Python, MATLAB, C)
    • Programmation de microcontrôleur (Microchip PIC, ESP32, Raspberry Pi, Arduino…)

    « J'étais le meilleur ami que le vieux Jim avait au monde. Il fallait choisir. J'ai réfléchi un moment, puis je me suis dit : "Tant pis ! J'irai en enfer" » (Saint Huck)

  12. #12
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2011
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2011
    Messages : 20
    Points : 10
    Points
    10
    Par défaut
    D’accord c'est bien noté et j'ai pigé le truc... Mes connaissances de Matlab avancent! Sinon est-ce que tu as une idée la raison la valeur du vecteur prix (pa) est "érronée" quand je fais :

    J'ai eu beau regarder sur les forums mais je ne trouve rien...

  13. #13
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par Mistigri5 Voir le message
    Sinon est-ce que tu as une idée la raison la valeur du vecteur prix (pa) est "érronée" quand je fais :
    Réponse déjà donnée par magelan:
    Citation Envoyé par magelan Voir le message
    Donc si ta fonction est défini comme tu l'as mis dans ton message, en l'appelant ainsi :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    [wact, wbons, pa, bons, d1, Nd1, d2, Nd2, port,eps,mult] = obpi2(s)
    tu récupères l'ensemble des vecteurs tels qu'ils sont à la fin de l'exécution de la fonction. Et tu peux bien évidemment ré-utiliser ces vecteurs.

  14. #14
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2011
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2011
    Messages : 20
    Points : 10
    Points
    10
    Par défaut
    ReBonjour!

    Quel étourdi je suis! J'avais mal lu le message de Magelan .Sorry...!

    En fait, donc du coup tout marche! C'est très gentil de m'avoir répondu si vite ! C'est agréable d'avoir de l'aide et augmenter ses connaissances, donc merci à vous!

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

Discussions similaires

  1. trier les valeurs d'un vecteur suivant un critère
    Par Nathaniel_etudiant dans le forum Simulink
    Réponses: 2
    Dernier message: 06/10/2010, 08h45
  2. Réponses: 5
    Dernier message: 27/04/2010, 14h55
  3. Condition sur toutes les valeurs d'un vecteur
    Par Newenda dans le forum MATLAB
    Réponses: 2
    Dernier message: 11/06/2009, 15h50
  4. les valeurs d'un vecteur du Workspace
    Par berberat dans le forum Simulink
    Réponses: 1
    Dernier message: 26/05/2009, 20h11
  5. Réponses: 7
    Dernier message: 20/05/2009, 10h56

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