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 :

Résoudre un system linéaire, coefficient non constant [Débutant]


Sujet :

MATLAB

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    112
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 112
    Par défaut Résoudre un system linéaire, coefficient non constant
    Bonjour à tous,

    Je voulais écrire une petite routine pour résoudre un système linéaire très simple ( matrice 3x3)
    voila les coéfficients de mon systeme linéaire dépendent de deux paramètres (gm, gmprime) et mon second membre dépends d'un paramètre (v1)
    donc ma question est toute simple : est-ce possible de résoudre un système linéaire avec des coéfficients non constants sous matlab ?
    voila ce que j'ai écrit mais ca me retourne 'empty sym '

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    syms v2 v3 v4 gm gmprime v1
    eq1 = '(-gm/(gm+8*gmprime)) (2*v1+v3) = v2';
    eq2 = '(-gm/(4*gmprime)) (v2+v4) = v3';
    eq3 = '(-gm/(gm+4*gmprime)) (v3) = v4';
    [v2,v3,v4] = solve(eq1, eq2, eq3, 'v2,v3,v4')
    j'ai éssayé aussi de spécifier ces paramètres avant l'exécution du code , dans l'espoir que matlab va remplacer les paramètres par leur valeurs effectives mais rien n'y fait

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    v1=1
    gm = 0.04
    gmprime = 0.04
    syms v2 v3 v4 gm gmprime v1
    eq1 = '(-gm/(gm+8*gmprime)) (2*v1+v3) = v2';
    eq2 = '(-gm/(4*gmprime)) (v2+v4) = v3';
    eq3 = '(-gm/(gm+4*gmprime)) (v3) = v4';
    [v2,v3,v4] = solve(eq1, eq2, eq3, 'v2,v3,v4')
    merci davance

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    112
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 112
    Par défaut
    apparement matlab n'est pas capable de "pré-évaluer" une expression entre les quotes ' ' :
    j'ai repmlacé mon code par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    v1=1
    gm = 0.04
    gmprime = 0.04
    a= (-gm/(gm+8*gmprime))
    b = (-gm/(4*gmprime))
    c =(-gm/(gm+4*gmprime))
    syms v2 v3 v4 a b c
    eq1 = 'a* (2*v1+v3) = v2';
    eq2 = 'b* (v2+v4) = v3';
    eq3 = 'c* (v3) = v4';
    [v2,v3,v4] = solve(eq1, eq2, eq3, 'v2,v3,v4')
    et ca marche

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 13/08/2014, 17h15
  2. [Débutant] Equation différentielle de second ordre à coefficients non constants
    Par minkovclub dans le forum MATLAB
    Réponses: 2
    Dernier message: 07/11/2011, 09h58
  3. Equation differentielle non lineaire a coefficient non constant
    Par WaylanderJava dans le forum Mathématiques
    Réponses: 13
    Dernier message: 05/03/2010, 11h26
  4. Réponses: 5
    Dernier message: 04/05/2007, 01h51
  5. case non constant
    Par jul54 dans le forum MFC
    Réponses: 4
    Dernier message: 04/02/2004, 14h08

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