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

Octave Discussion :

Problème de plot dans ma fonction, création d'un tableau de valeurs


Sujet :

Octave

  1. #1
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2021
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2021
    Messages : 10
    Points : 4
    Points
    4
    Par défaut Problème de plot dans ma fonction, création d'un tableau de valeurs
    Bonjour j'ai un problème de plot dans mon programme, avez vous une idée.

    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
    clear all;close all;clc;
    % FONCTION
    function [alpha,beta,R2]=dmc(X,Y)
      N=length(X)-1;
    % MOYENNES
      S1=0.0; % INITIALISATION DE LA SOMME
      S2=0.0;
      for i=1:N+1
        S1=S1+X(i); % CALCUL DE LA SOMME
        S2=S2+Y(i);
      endfor
      Xbar=S1/(N+1); % CALCUL DE LA MOYENNE
      Ybar=S2/(N+1);
    % VARIANCES
      S1=0.0; % INITIALISATION DE LA SOMME
      S2=0.0;
      S3=0.0;
      for i=1:N+1
        S1=S1+(X(i)-Xbar)^2; % CALCUL DE LA SOMME
        S2=S2+(Y(i)-Ybar)^2;
        S3=S3+(X(i)-Xbar)*(Y(i)-Ybar);
      endfor
      varX=S1/(N+1); % CALCUL DE LA VARIANCE
      varY=S2/(N+1);
      covXY=S3/(N+1);
    % PARAMETRES DMC
      alpha=covXY/varX;
      beta=Ybar-alpha*Xbar;
      R2=covXY*covXY/varX/varY;
    % APPLICATION
    Cb=0.1;
    Va=25*10^-3;
    Vs=175*10^-3;
    N=22;
    X=linspace(0,22,N+1);
    Y=[200.2 185. 174.1 157.2 147.4 133.3 118.9 101.6 91.1 76.7 66.0 69.7 75.9 78.8 83.8 91.4 96.8 111.6 124.2 138.3 154.6 166.2 181.6]
    Y=ones(1, 20);
     
    % TEST
    X=[0,25]; % DONNEES X
    Y=[0,220] % DONNEES Y
    [alpha,beta,R2]=dmc(X,Y)
    % GRAPHE
    figure(1);
    plot(X,Y,'bo','LineWidth',2); % DONNEES

  2. #2
    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 166
    Points
    53 166
    Par défaut
    Quel est le problème exactement ? Y a-t-il un message d'erreur ?
    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)

  3. #3
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2021
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2021
    Messages : 10
    Points : 4
    Points
    4
    Par défaut RE
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    % APPLICATION
    Cb=0.1;
    Va=25*10^-3;
    Vs=175*10^-3;
    N=22;
    X=linspace(0,22,N+1);
    Y=[200.2 185. 174.1 157.2 147.4 133.3 118.9 101.6 91.1 76.7 66.0 69.7 75.9 78.8 83.8 91.4 96.8 111.6 124.2 138.3 154.6 166.2 181.6]
    Y=ones(1, 20);
    voila la zone de mon problème, en effet quand octave trace mon graphique celui-ci ne prends pas en compte mon y
    la consigne est la suivante : déclarer les valeurs a la main (de Y) et les implémenter dans un tableau de dimension (1,N+1)

  4. #4
    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 166
    Points
    53 166
    Par défaut
    Tu affectes 3 fois de suite la variable Y dans ton code. Seule la dernière affectation est prise en compte.
    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)

  5. #5
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2021
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2021
    Messages : 10
    Points : 4
    Points
    4
    Par défaut Problème Re
    D’accord donc que dois-je faire pour finalement obtenir mon graphique tracé

  6. #6
    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 166
    Points
    53 166
    Par défaut
    Citation Envoyé par Nathan21000 Voir le message
    que dois-je faire pour finalement obtenir mon graphique tracé
    Commencer par comprendre ce que tu as écris.

    Il manque déjà un endfunction dans le code ci-dessus :
    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
    clear all;close all;clc;
    % FONCTION
    function [alpha,beta,R2]=dmc(X,Y)
      N=length(X)-1;
      % MOYENNES
      S1=0.0; % INITIALISATION DE LA SOMME
      S2=0.0;
      for i=1:N+1
        S1=S1+X(i); % CALCUL DE LA SOMME
        S2=S2+Y(i);
      endfor
      Xbar=S1/(N+1); % CALCUL DE LA MOYENNE
      Ybar=S2/(N+1);
      % VARIANCES
      S1=0.0; % INITIALISATION DE LA SOMME
      S2=0.0;
      S3=0.0;
      for i=1:N+1
        S1=S1+(X(i)-Xbar)^2; % CALCUL DE LA SOMME
        S2=S2+(Y(i)-Ybar)^2;
        S3=S3+(X(i)-Xbar)*(Y(i)-Ybar);
      endfor
      varX=S1/(N+1); % CALCUL DE LA VARIANCE
      varY=S2/(N+1);
      covXY=S3/(N+1);
      % PARAMETRES DMC
      alpha=covXY/varX;
      beta=Ybar-alpha*Xbar;
      R2=covXY*covXY/varX/varY;
    endfunction
     
    % APPLICATION
    Cb=0.1;
    Va=25*10^-3;
    Vs=175*10^-3;
    N=22;
    X=linspace(0,22,N+1);
    Y=[200.2 185. 174.1 157.2 147.4 133.3 118.9 101.6 91.1 76.7 66.0 69.7 75.9 78.8 83.8 91.4 96.8 111.6 124.2 138.3 154.6 166.2 181.6]
    Y=ones(1, 20);
     
    % TEST
    X=[0,25]; % DONNEES X
    Y=[0,220] % DONNEES Y
    [alpha,beta,R2]=dmc(X,Y)
    % GRAPHE
    figure(1);
    plot(X,Y,'bo','LineWidth',2); % DONNEES
    Que contiennent à ton avis au final les variables X et Y quand tu exécutes ces lignes de code avant le tracé ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    X=linspace(0,22,N+1);
    Y=[200.2 185. 174.1 157.2 147.4 133.3 118.9 101.6 91.1 76.7 66.0 69.7 75.9 78.8 83.8 91.4 96.8 111.6 124.2 138.3 154.6 166.2 181.6]
    Y=ones(1, 20);
     
    % TEST
    X=[0,25]; % DONNEES X
    Y=[0,220] % DONNEES Y
    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)

  7. #7
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2021
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2021
    Messages : 10
    Points : 4
    Points
    4
    Par défaut Réponse problème
    Mon Y est un vecteur de dimension (1, N) il me permet d’inclure les valeurs de Y
    J’ai supprimé le ones qui ne sert à rien, à mon avis mon graph se trace à présent et oui le endfunction était nécessaire aussi
    Il me manque juste à tracer deux droite verticale au point ou la courbe change de variation

Discussions similaires

  1. problème de paramètres dans une fonction
    Par morgan54 dans le forum VBA Access
    Réponses: 5
    Dernier message: 12/05/2008, 16h53
  2. Problème avec structure dans une fonction
    Par Saliman dans le forum C
    Réponses: 2
    Dernier message: 22/11/2007, 11h45
  3. problème d'update dans une fonction trigger (before)
    Par ctobini dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 08/09/2006, 17h08
  4. problème de variable dans une fonction
    Par K4trix dans le forum C
    Réponses: 9
    Dernier message: 06/07/2006, 09h38
  5. [PL SQL] Problème avec 'case' dans une fonction
    Par divail dans le forum Oracle
    Réponses: 14
    Dernier message: 13/03/2006, 15h50

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