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 :

Remplacer un vecteur numérique par un vecteur symbolic [Débutant]


Sujet :

MATLAB

  1. #1
    Futur Membre du Club
    Femme Profil pro
    Inscrit en
    Décembre 2012
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Décembre 2012
    Messages : 27
    Points : 8
    Points
    8
    Par défaut Remplacer un vecteur numérique par un vecteur symbolic
    bonjour tout le monde

    est-ce que quelqu'un peut m'aider sur mon problème, en fait si j'ai par exemple deux matrices (3,3) A et B comme suit:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    A=[0 0 0;0 0 0;0 0 0] % la matrice A à l'état initial est initialisé à zéro
    syms a b c d e f k l m
    B=[a b c; d e f; k l m]
    %j'aimerais maintenant changer les colonnes de la matrice A en fonction de B 
    %par exemple écrire 
    for i=2:3
    A(:,i)=A(:,i-1)-B(:,i)
    end
    c'est-à-dire par exemple lorsque i=2, la deuxième colonne de la matrice A sera remplacé par le vecteur colonne trouver par l'équation A(:,1)-B(:,2) qui donne un vecteur (3,1) égal à [-b;-f;-p] et ainsi de suite
    le problème n'est pas dans l'écriture de A(:,i-1)-B(:,i) mais lorsqu'il fait l'égalité A(:,i)=A(:,i-1)-B(:,i) c'est-à-dire lorsqu'il remplace ce qui était numérique par du symbolique il m'affiche un message d'erreur parce que ce passage ne peut pas être fait .
    Est-ce que quelqu'un à une idée sur comment se fait ce passage afin que je puisse afficher la nouvelle matrice A

    Merci

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

    A doit aussi être un tableau symbolique :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    A = sym('A', [3 3]);
    A(:) = 0;
    syms a b c d e f k l m
    B=[a b c; d e f; k l m];
     
    for i=2:3
        A(:,i) = A(:,i-1) - B(:,i);
    end

  3. #3
    Futur Membre du Club
    Femme Profil pro
    Inscrit en
    Décembre 2012
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Décembre 2012
    Messages : 27
    Points : 8
    Points
    8
    Par défaut
    Merci pour votre réponse mais dès le départ je reçois un message d'erreur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    A = sym('A', [3 3])
    ??? Error using ==> error
    Formatted arguments cannot be non-scalar numeric matrices.

  4. #4
    Invité
    Invité(e)
    Par défaut
    Version MATLAB trop ancienne pour ces entrées sûrement...
    Essai ceci :

  5. #5
    Futur Membre du Club
    Femme Profil pro
    Inscrit en
    Décembre 2012
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Décembre 2012
    Messages : 27
    Points : 8
    Points
    8
    Par défaut
    ça marche MERCI

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 05/04/2009, 12h29
  2. multiplier un quaternion par un vecteur ?
    Par manonoc dans le forum Moteurs 3D
    Réponses: 1
    Dernier message: 30/12/2007, 10h07
  3. Réponses: 4
    Dernier message: 16/04/2007, 16h30
  4. Comment remplacer un resultat numérique par son libellé ?
    Par bds2006 dans le forum Bases de données
    Réponses: 3
    Dernier message: 16/06/2006, 11h03
  5. Relié par un vecteur 2 éléments dragndrop
    Par avogadro dans le forum Langage
    Réponses: 21
    Dernier message: 03/05/2006, 01h20

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