Apprendre Maple Index du Forum Apprendre Maple
Site dédié au logiciel de calcul formel Maple
 
  Page d'accueilPage d'accueil   FAQFAQ    RechercherRechercher    Liste des MembresListe des Membres    Groupes d'utilisateursGroupes d'utilisateurs 
S'enregistrerS'enregistrer    ProfilProfil   Se connecter pour vérifier ses messages privésSe connecter pour vérifier ses messages privés   ConnexionConnexion 

Module DynamicSystems

 
Poster un nouveau sujet   Répondre au sujet    Apprendre Maple Index du Forum -> Maple en analyse
Voir le sujet précédent :: Voir le sujet suivant  
Auteur Message
bendesarts



Inscrit le: 27 Fév 2009
Messages: 234

MessagePosté le: 14 Mai 2013 12:01    Sujet du message: Module DynamicSystems Répondre en citant

Bonjour,

J'utilise le module DynamicSystem qui me permet de transformer une représentation d'état en fonctions de transfert. Puis, je peux tracer les diagrammes de Bode de manière très simple avec les outils de ce module.

Par contre, j'ai un petit soucis qui est le suivant :
Je n'arrive pas à extraire une seule des fonctions de transfert dans le cas où j'en ai plusieurs (comme dans l'exemple ci-dessous)

J'aimerais tracer y1(s) par exemple

Code:
restart;
with( DynamicSystems ):
a := Matrix([[0, 1,0], [0, -167,878],[0, -53,-6250]]);
               Matrix(%id = 18446744080212238334)
b := Matrix([[0], [0],[1563]]);
               Matrix(%id = 18446744080212238574)
c := Matrix([[1, 0,0], [0, 0,1]]);
               Matrix(%id = 18446744080212238694)
d := Matrix([[0], [0]]);
               Matrix(%id = 18446744080212238814)
sys5 := TransferFunction(a, b, c, d, systemname="Example discrete MIMO system",outputvariable =[y1,y2]):
PrintSystem(sys5);


Merci pour votre aide
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé
ALS



Inscrit le: 11 Sep 2006
Messages: 647

MessagePosté le: 15 Mai 2013 11:07    Sujet du message: Répondre en citant

Bonjour,
Je ne connaissais pas ce package, mais comme je vois que sys5 a une structure de module Maple, dont tf[1, 1] et tf[2, 1] sont des membres, j'ai essayé la syntaxe classique d'accès au membre d'un module, c'est à dire à partir de :-
sys5:-tf[1,1] ou sys5:-tf[2,1];
Et ça marche!!

@+

Code:

> restart;
> with( DynamicSystems ):
> a := Matrix([[0, 1,0], [0, -167,878],[0, -53,-6250]]);

> b := Matrix([[0], [0],[1563]]);

> c := Matrix([[1, 0,0], [0, 0,1]]);
>
> d := Matrix([[0], [0]]);

> sys5 := TransferFunction(a, b, c, d, systemname="Example discrete MIMO system",outputvariable =[y1,y2]):
> PrintSystem(sys5);
>

                           [0       1        0]
                           [                  ]
                      a := [0    -167      878]
                           [                  ]
                           [0     -53    -6250]


                                  [   0]
                                  [    ]
                             b := [   0]
                                  [    ]
                                  [1563]


                               [1    0    0]
                          c := [           ]
                               [0    0    1]


                                    [0]
                               d := [ ]
                                    [0]


             [            Transfer Function            ]
             [                                         ]
             [               continuous                ]
             [                                         ]
             [systemname = Example discrete MIMO system]
             [                                         ]
             [         2 output(s); 1 input(s)         ]
             [                                         ]
             [         inputvariable = [u1(s)]         ]
             [                                         ]
             [     outputvariable = [y1(s), y2(s)]     ]


                [                   1372314         ]
                [tf[1, 1] = ------------------------]
                [            3         2            ]
                [           s  + 6417 s  + 1090284 s]
                [                                   ]
                [               1563 s + 261021     ]
                [ tf[2, 1] = ---------------------  ]
                [             2                     ]
                [            s  + 6417 s + 1090284  ]

> TF[1,1]:=sys5:-tf[1,1]; TF[2,1]:=sys5:-tf[2,1];

                                     1372314
                 TF[1, 1] := ------------------------
                              3         2
                             s  + 6417 s  + 1090284 s


                                 1563 s + 261021
                  TF[2, 1] := ---------------------
                               2
                              s  + 6417 s + 1090284

> plot(TF[1,1],s=0..2,y=0..100);
 
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé
bendesarts



Inscrit le: 27 Fév 2009
Messages: 234

MessagePosté le: 22 Mai 2013 23:30    Sujet du message: Répondre en citant

Super merci encore pour ton aide.
Je ne connaissais pas du tout cette syntaxe d'accès au membre d'un module et je ne l'avais vu nul part dans l'aide de maple.
Juste pour info, c'est quoi une structure de module de Maple ?
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé
Montrer les messages depuis:   
Poster un nouveau sujet   Répondre au sujet    Apprendre Maple Index du Forum -> Maple en analyse Toutes les heures sont au format GMT + 2 Heures
Page 1 sur 1

 
Sauter vers:  
Vous ne pouvez pas poster de nouveaux sujets dans ce forum
Vous ne pouvez pas répondre aux sujets dans ce forum
Vous ne pouvez pas éditer vos messages dans ce forum
Vous ne pouvez pas supprimer vos messages dans ce forum
Vous ne pouvez pas voter dans les sondages de ce forum


phpBB

Développé par phpBB © 2001, 2006 phpBB Group
Traduction par : phpBB-fr.com


Apprendre Maple - ©  - Alain Le Stang - Navigation optimisée pour une résolution 1024 x 768.