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 :

Probleme avec une courbe 3D sur Matlab


Sujet :

MATLAB

  1. #1
    Membre à l'essai
    Inscrit en
    Novembre 2007
    Messages
    34
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 34
    Points : 24
    Points
    24
    Par défaut Probleme avec une courbe 3D sur Matlab
    Bonjour,
    je tente de visualiser en 3d cette fonction z suivant les deux parametres x et y mais jái un probleme au niveau de la fonction erreur (ERFC).il m indique
    ??? Error using ==> mtimes
    Inner matrix dimensions must agree.
    est ce que quelqu'un pourrait m'aider s'il vous plait....



    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
     
    clear all;
    close all;
    Q=188.64;
    K=0.802;
    w=0.0227861753262656;
    tp=600;
    Y0=20;
     
    [x,y] = meshgrid(1 : 0.1 : 2, 1 : 1 : 600);
    A=(x./(2*sqrt(w'*y)));
    z= (2*Q./K)'*sqrt(w*y)'*[((exp(-A.^2))./(sqrt(pi)) - ((A)*erfc(A'))];
    mesh(z)
    figure(5)
    surf(z)

  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 163
    Points
    53 163
    Par défaut
    Citation Envoyé par cozo22 Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    z= (2*Q./K)'*sqrt(w*y)'*[((exp(-A.^2))./(sqrt(pi)) - ((A)*erfc(A'))];
    Déjà, on peut simplifier l'expression :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    z= (2*Q./K)'*sqrt(w*y)'*(exp(-A.^2)./sqrt(pi) - A*erfc(A'));
    Et l'erreur est :

    ??? Error using ==> minus
    Matrix dimensions must agree.

    Error in ==> Untitled at 12
    z= (2*Q./K)'*sqrt(w*y)'*(exp(-A.^2)./sqrt(pi) - A*erfc(A'));
    Le problème vient du dernier terme :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    (exp(-A.^2)./sqrt(pi) - A*erfc(A'))
    Si on regarde la taille de chaque terme :

    Taille de A : 600x11
    Taille de erfc(A') : 11x600
    Taille de A*erfc(A') : 600x600
    Taille de exp(-A.^2)./sqrt(pi) : 600x11

    Taille de (exp(-A.^2)./sqrt(pi) - A*erfc(A')) : ??? [600x11] - [600x600] ???
    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
    Membre à l'essai
    Inscrit en
    Novembre 2007
    Messages
    34
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 34
    Points : 24
    Points
    24
    Par défaut
    Ok mais alors pourquoi est ce que lorsaue je tape ce code ca fonctione parce que les matrices sont les memes....




    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
     
    clear all;
    close all;
    Q=188.64;
    K=0.802;
    w=0.0227861753262656;
    tp=600;
    Y0=20;
     
    x=00.0000000010987;
    y=zeros(1,1200);
     
    for t=1:1:600;
       A=(x./(2*sqrt(w*t)));
       y(t)= Y0 + (2*Q*(1)./K)'*sqrt(w*t)'*[((exp(-A.^2))./sqrt(pi))' - A'*erfc(A)'];
     end 
     
    plot(1:600,y(1:600));
    title('Temperature evolution With DL 25 A 11.25W- Fe           depth')

  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 163
    Points
    53 163
    Par défaut
    Les dimensions de A ne sont pas les mêmes entre les deux codes.
    Dans le premier, A est une tableau 600x11 (une matrice), dans le second, A est une tableau 1x1 (un scalaire)
    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
    Membre à l'essai
    Inscrit en
    Novembre 2007
    Messages
    34
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 34
    Points : 24
    Points
    24
    Par défaut
    il suffit donc que je donne une dimension 600x600 a A et normalement ca marche?

  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 163
    Points
    53 163
    Par défaut
    Et comment serions-nous censé connaitre la taille de A ?

    Plutôt que de bidouiller A, tu ferais mieux de contrôler la formule qui calcul z.

    Une fois tu fais :
    L'autre fois tu fais :
    Ceci n'a pas de sens
    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)

Discussions similaires

  1. [AC-2010] probleme avec une valeur null sur une date
    Par kynder surprise dans le forum VBA Access
    Réponses: 3
    Dernier message: 07/05/2012, 17h28
  2. Réponses: 1
    Dernier message: 19/02/2012, 14h43
  3. Probleme avec une requête sur 2 tables
    Par Sieg Hart dans le forum Requêtes
    Réponses: 3
    Dernier message: 09/01/2009, 14h14
  4. [DB2] Problèmes avec une Jointure externe sur des vues
    Par treivse dans le forum Langage SQL
    Réponses: 6
    Dernier message: 11/07/2006, 11h42
  5. [Oracle 10g]probleme avec une CONSTRAINT sur UPDATE
    Par Battosaiii dans le forum Langage SQL
    Réponses: 5
    Dernier message: 17/04/2006, 19h05

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