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 :

Substitution de variables sur des équations avec la toolbox symbolique de matlab


Sujet :

MATLAB

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Août 2009
    Messages
    542
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 542
    Points : 187
    Points
    187
    Par défaut Substitution de variables sur des équations avec la toolbox symbolique de matlab
    Bonjour,

    J'aimerais faire des subsitutions sur des équations en utilisant la fonction "subs".

    Si, c'est possible de faire des substitutions sur des équations directement dans un .m, alors j'aimerais ce style de solutions.

    Pour ce faire voilà ce que j'ai essayé de faire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    syms a b c
    syms eq1 
    syms d
    eq1:=a=b+c  (j'ai aussi essayer avec ==)
    subs(eq1,b=d)
    Celà ne fonctionne pas et je n'ai pas trouvé d'exemples qui expliquent comment faire des substitutions sur des équations avec "subs".

    Pouvez-vous m'aider à corriger mon code afin de réaliser des substitutions sur des équations sur mon fichier .m?
    Si, ce n'est pas possible dans un .m, pouvez-vous comment je peux faire ceci avec MuPad?


    Je vous remercie pour votre aide.

  2. #2
    Membre éprouvé
    Avatar de soft001
    Homme Profil pro
    Ingénieur R&D
    Inscrit en
    Avril 2008
    Messages
    409
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur R&D
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2008
    Messages : 409
    Points : 1 146
    Points
    1 146
    Par défaut
    Je n'est pas compris ton équation. Est ce que ton eq1=a+c et tu veux remplacer a par b ?
    Si tu trouves ma réponse utile, n'oublies pas de voter pour ce me message

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Août 2009
    Messages
    542
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 542
    Points : 187
    Points
    187
    Par défaut
    Mon equation est bien a=b+c.
    Et dans cette équation, j'aimerais remplacer b par d.
    Par contre, la définition d'une équation n'est peut-être pas possible en matlab et il faut peut-être passer obligatoirement par du symbolique avec MuPad.
    Est-ce le cas ? ou Peux-t-on définir des équations dans un script .m ?

  4. #4
    Membre éprouvé
    Avatar de soft001
    Homme Profil pro
    Ingénieur R&D
    Inscrit en
    Avril 2008
    Messages
    409
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur R&D
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2008
    Messages : 409
    Points : 1 146
    Points
    1 146
    Par défaut
    Tu fait tous simplement ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    syms a b c d
    a=b+c;
    subs(a,b,d)
    a
    Si tu trouves ma réponse utile, n'oublies pas de voter pour ce me message

  5. #5
    Membre habitué
    Profil pro
    Inscrit en
    Août 2009
    Messages
    542
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 542
    Points : 187
    Points
    187
    Par défaut
    Bonjour,

    Merci pour ton aide mais, par contre, j'aimerais une autre méthode que celle-ci pour réaliser mes substitutions car je dois faire des substitutions de variables pour les deux membres de mon équations.

    En effet, l'idée est que je récupère d'un autre logiciel dans matlab mes équations (équations algébriques et différentielles).

    Elles sont de cette forme :
    C_p_e = C_state/C_c;
    C_p_f = I_state/I_i;
    R_p_e = R_r*C_p_f;
    I_p_e = (Se_p_e-R_p_e)-C_p_e;

    Afin d'obtenir une forme plus esthétique de mes équations, je dois changer tous les noms de mes variables à la fois pour le membre de gauche et de droite dans mes équations.

    Par ailleurs, j'aimerais plutôt obtenir mes équations de manière symbolique.

    C'est pour quoi je cherche une méthode où je puisse :
    1) exprimer mes équations de la sorte :
    eq1:=C_p_e = C_state/C_c;
    eq2:=C_p_f = I_state/I_i;
    eq3:=R_p_e = R_r*C_p_f;
    eq4:=I_p_e = (Se_p_e-R_p_e)-C_p_e;

    2) Puis, réaliser ensuite, pour chacune de mes équations, des substitutions pour obtenir mes équations avec des noms de variables plus parlants.

    Question :
    1) Est-ce que je peux réaliser ces opérations directement dans mon fichier .m ? et si oui, comment?
    2) Sinon, s'il est nécessaire de passer plutôt dans l'environnement MuPad, comment est-ce que je peux passer facilement les équations que je récupére dans matlab dans MuPad et réaliser mes substitutions dans MuPad?

    Je vous remercie d'avance pour vos conseils.

Discussions similaires

  1. Extraction de données avec XSL sur des XML avec namespace
    Par snake264 dans le forum XSL/XSLT/XPATH
    Réponses: 3
    Dernier message: 03/02/2012, 10h16
  2. [MySQL] Requete sur des tables avec des Foreign Keys.
    Par bruno7619 dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 27/04/2009, 11h58
  3. Tri sur des adresses (avec bis ter etc)
    Par xian21 dans le forum Langage SQL
    Réponses: 12
    Dernier message: 22/05/2008, 09h29
  4. Réponses: 3
    Dernier message: 30/08/2007, 15h41
  5. Définir des variables sur le serveur avec PHP.
    Par ronio dans le forum Langage
    Réponses: 2
    Dernier message: 04/08/2006, 10h23

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