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 :

Matlab erreur (novice) [Débutant]


Sujet :

MATLAB

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    36
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2010
    Messages : 36
    Points : 26
    Points
    26
    Par défaut Matlab erreur (novice)
    Bonjour,

    J'aurai une petite question Matlab certainement très simple (étant novice avec ce programme):
    Pour quelle raison quand je fais ces commandes ci-dessous une erreur apparait?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    >> t=0:2*pi/20:2*pi;
    >> kx=cos(t)*(1+cos(t));
     
    ??? Error using ==> mtimes
    Inner matrix dimensions must agree.
    Comment devrais-je écrire pour que cela fonctionne?

    Merci beaucoup pour votre aide!!!

    Flo

  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
    Voir la : Inner matrix dimensions must agree.

    Dans ton cas, ce n'est pas une opération entre matrices mais une opération entre tableaux que tu souhaites faire. Il faut ajouter un . devant l'opérateur arithmétique pour obtenir une opération terme à terme :

    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
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    36
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2010
    Messages : 36
    Points : 26
    Points
    26
    Par défaut MERCI
    Merci!!

    J'avais essayé avec un point mais je l'avais mis après le * donc sa n'allais pas! Super merci beaucoup

    Bonne soirée

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    36
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2010
    Messages : 36
    Points : 26
    Points
    26
    Par défaut Raccourci
    Re!

    Vous sauriez également comment écrire sa en une seul instruction? A la place d'écrire tout ces y?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    x=0:pi/100:2*pi;
     
    y1=sin(x);
    y2=sin(2*x);
    y2=sin(2*x);
    y3=sin(3*x);
    y4=sin(4*x);
    y5=sin(5*x);
    y6=sin(6*x);
    plot(x,y1,x,y2,x,y3,x,y4,x,y5,x,y6)
    Merci bonne soirée

    Flo

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    640
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 640
    Points : 776
    Points
    776
    Par défaut
    Salut,

    une partie de la réponse se trouve également.... dans la => voir ce sujet-ci

    A croire que ca peut servir... Voici une simplification de ton code en utilisant les cellules.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    x=0:pi/100:2*pi;
     
    for i=1:6
         y{i}=sin(i*x);
    end
     
    plot(x,y{1},x,y{2},x,y{3},x,y{4},x,y{5},x,y{6})

  6. #6
    Membre éclairé Avatar de tubaas
    Homme Profil pro
    Acousticien
    Inscrit en
    Août 2009
    Messages
    641
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Acousticien
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2009
    Messages : 641
    Points : 825
    Points
    825
    Par défaut
    salut
    tu peux aussi construire une matrice
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    x=0:pi/100:2*pi;
     
    for i=1:6
         y(i,:)=sin(i*x');
    end
     
    plot(x,y);

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

Discussions similaires

  1. message d'erreur matlab
    Par alduke dans le forum MATLAB
    Réponses: 2
    Dernier message: 17/09/2008, 10h13
  2. Erreur avec la fonction movie de matlab
    Par circe dans le forum MATLAB
    Réponses: 3
    Dernier message: 05/03/2008, 09h38
  3. Erreur sous matlab
    Par hanane78 dans le forum MATLAB
    Réponses: 1
    Dernier message: 30/11/2007, 19h25
  4. [Novice]Message d' erreur à la compilation
    Par sterus dans le forum Delphi
    Réponses: 7
    Dernier message: 27/06/2007, 12h08

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