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

Simulink Discussion :

Modifier un paramètre durant la simulation


Sujet :

Simulink

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2007
    Messages : 2
    Points : 1
    Points
    1
    Par défaut Modifier un paramètre durant la simulation
    Bonjour,

    J'ai créé un modèle de circuit RLC tout bête sous Simulink. J'aimerais pouvoir faire varier mes paramètres (la capacité en particulier) durant la simulation pour observer le changement d'amplitude du signal. J'y arrive en ouvrant manuellement le bloc, mais j'aimerais pouvoir le faire automatiquement à l'aide d'une commande telle que celle ci:

    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
    % initialize simulation parameters
    fcom = 2*pi*1e5;
    fsource= 1*1e5;
    fc = 1*1e5;
    R = 100;
    L = 2*1e-3;
    C = 1*1e-9;
    set_param('compTransfer','StopTime','10*1e-3','MaxStep','1e-6')
     
    % start simulation
    set_param('compTransfer','simulationcommand','start');
    sim('compTransfer');
    while clock.time(length(clock.time)) < 3*1e-3
    end
    set_param('compTransfer','simulationcommand','pause');
    fsource=1*1e4;
    set_param('compTransfer','simulationcommand','continue');
    Dans ce cas, je change la fréquence de la source de tension dans le workspace. Malheureusement, Simulink ne tient pas compte de ce changement et il ne se passe rien. Je cherche donc la commande qui ordonne à Simulink de tenir compte des changements, comme il le fait lorsque j'ouvre le bloc manuellement.

    Merci à vous

  2. #2
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    18
    Détails du profil
    Informations personnelles :
    Âge : 52
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 18
    Points : 22
    Points
    22
    Par défaut
    Citation Envoyé par Frozenbrain Voir le message
    Bonjour,

    J'ai créé un modèle de circuit RLC tout bête sous Simulink. J'aimerais pouvoir faire varier mes paramètres (la capacité en particulier) durant la simulation pour observer le changement d'amplitude du signal. J'y arrive en ouvrant manuellement le bloc, mais j'aimerais pouvoir le faire automatiquement à l'aide d'une commande telle que celle ci:

    [...]

    Dans ce cas, je change la fréquence de la source de tension dans le workspace. Malheureusement, Simulink ne tient pas compte de ce changement et il ne se passe rien. Je cherche donc la commande qui ordonne à Simulink de tenir compte des changements, comme il le fait lorsque j'ouvre le bloc manuellement.

    Merci à vous
    Salut à toi,

    Je ne sais pas si je comprends bien ton soucis.
    Tu cherches en fait à modifier une constante de ton système RLC.
    Cependant, s'il s'agit d'une constante issus du WorkSpace, Matlab, dans sa phase d'initialisation, récupère la valeur pour la placer comme constante absolue.

    Une solution consisterait à faire un sous système masqué qui contiendrait une "Constante" Simulink (dans les Sources). Au cours de ta simulation, tu peux alors changer la valeur de cette constante par la commande

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    set_param(gcb,'Value','6')
    Bien sûr, tu connais à l'avance les handles de tes blocs dont tu souhaites changer la valeur.

    Hope this helps

    Cinzou

    PS : la valeur à changer est une chaîne de caractères.
    Images attachées Images attachées  

  3. #3
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2007
    Messages : 2
    Points : 1
    Points
    1
    Par défaut
    Merci bien de ta réponse CinzaMacaco, malheureusement je ne pense pas qu'elle me servira. En effet, comme tu l'as dit, Matlab récupère les données du workspace et crée une "matrice d'états", qu'il diagonalise afin de l'optimiser.

    Si je change un paramètre, la matrice des états change elle aussi et cela crée une discontinuité dans le signal. Le comportement transitoire qui en résulte est donc faux et ne me sert à rien.

    Bonne soirée

Discussions similaires

  1. Réponses: 7
    Dernier message: 21/08/2013, 14h26
  2. Modifier des paramètres dans un calque
    Par mohamed2006 dans le forum Mise en page CSS
    Réponses: 5
    Dernier message: 11/12/2006, 09h22
  3. Modifier un paramètre ou le créer
    Par Macintosheux dans le forum Général JavaScript
    Réponses: 10
    Dernier message: 05/05/2006, 12h01
  4. Modifier les paramètres d'affichage sous Fedora core 4
    Par al1_24 dans le forum Matériel
    Réponses: 5
    Dernier message: 19/01/2006, 16h39
  5. Constructeur de copie modifiant le paramètre ?
    Par Nicodemus dans le forum C++
    Réponses: 4
    Dernier message: 12/01/2005, 21h25

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