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 :

Problème de simulation


Sujet :

Simulink

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

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1
    Points : 1
    Points
    1
    Par défaut Problème de simulation
    Bonjour.

    Je réalise actuellement un projet sous matlab simulink, j'ai donc créé des schémas de simulation sur simulink (j'utilise une représentation d'état dx/dt = Ax+Bu, où x est l'état, A et B des matrices sous forme de gain, et la sortie est l'état x).
    Il y a des fichiers matlab associés (qui se lancent quand on lance la simulation des fichiers simulink), je crée un bloc et je rajoute dans ses paramètres une init_fcn dans callback, pour que le fichier matlab se lance quand on démarre la simulation.
    Jusque là tout va bien, j'arrive à faire des calculs pour déterminer des paramètres, et ensuite laisser la simulation se dérouler pendant un certain temps.

    Le problème, c'est que je dois maintenant appliquer un algorithme qui consiste à résoudre une équation pour trouver un paramètre (ça je sais faire), puis modifier le paramètre lors de la simulation, ensuite résoudre à nouveau l'équation (avec la nouvelle valeur trouvée précédemment) pour déterminer le nouveau paramètre et donc appliquer une nouvelle commande, et ainsi de suite (une récurrence).
    Mais je ne sais pas comment faire des calculs avec matlab pendant une simulation sous simulink.
    En gros, ça consiste à modifier le retour d'état (un gain K) par exemple 100 fois, à chaque qu'on a résolu une équation (à chaque itération de l'algorithme).

    J'espère que vous avez compris... Merci de votre aide.

  2. #2
    Nouveau Candidat au Club
    Inscrit en
    Mai 2007
    Messages
    1
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 1
    Points : 1
    Points
    1
    Par défaut fonction set_param
    il faut utiliser la fonction set_param
    tape help(set-param) et tu pourra modifier un paramètre dans un fichier simulink et puis tu tape sim('nom de ton fichier simulink')

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    101
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2006
    Messages : 101
    Points : 61
    Points
    61
    Par défaut
    Bonjour,

    Juste pour info, taper "help(set-param)" ne marche pas !!!
    Mais j aimerais bien qu on m explique cette methode plus en details si c est possible...avec le sim('Nom du fichier Simuink') apres...

    Cela m interesse beaucoup...

    Merci d avance
    MATLAB Version 7.3.0.267 (R2006b)
    Simulink Version 6.5 (R2006b)
    Sous Windows

  4. #4
    Expert éminent sénior
    Avatar de Caro-Line
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    9 458
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 9 458
    Points : 14 830
    Points
    14 830
    Par défaut
    Pour accéder à l'aide d'une fonction (en l'occurence set_param) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    help set_param
    %ou
    help('set_param')%doit fonctionner mais jamais utilisé...
     
    %pour une aide plus complète :
    doc set_param
    Que veux-tu savoir sur le sim('nom du fichier simulink') ?
    C'est pareil il suffit de regarder le help ou le doc sur la fonction sim, l'aide de Matlab est plutôt bien faite
    Règles du Forum

    Adepte de la maïeutique

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    101
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2006
    Messages : 101
    Points : 61
    Points
    61
    Par défaut
    En fait ce qui m interesse beaucoup c est cela (je l ai mis en gras italique) :

    Citation Envoyé par samousse
    il faut utiliser la fonction set_param
    tape help(set-param) et tu pourra modifier un paramètre dans un fichier simulink et puis tu tape sim('nom de ton fichier simulink')
    J aimerais comprendre mieux pourquoi faire ca?Que cela apporte t il?Peut on le faire automatiquement?

    Merci d avance
    MATLAB Version 7.3.0.267 (R2006b)
    Simulink Version 6.5 (R2006b)
    Sous Windows

  6. #6
    Expert éminent sénior
    Avatar de Caro-Line
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    9 458
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 9 458
    Points : 14 830
    Points
    14 830
    Par défaut
    Un exemple tout bête parce que je ne suis pas experte en Simulink.
    Tu as un modèle avec un gain, et tu veux lancer plusieurs simulations avec un gain différent à chaque fois, sans ouvrir ton modèle :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    load_system('modele');%le modèle Simulink est stocké dans le fichier modele.mdl
    Gains = [3 5 9 10];
    for k=1:length(Gains)
       %le bloc BlockGain est direct dans la 1ère feuille du modèle
       set_param('modele/BlockGain','Gain',num2str(Gains(k)));
       [t,x,y] = sim('model');%voir l'aide pour les sorties
       %et après on peut traiter les sorties suivant ce qu'on veut en faire
    end
    close_system('modele',0);%le 0 pour ne pas sauvegarder le modele
    Règles du Forum

    Adepte de la maïeutique

Discussions similaires

  1. Problème de simulation
    Par hugo_n6k dans le forum Simulink
    Réponses: 6
    Dernier message: 27/05/2009, 02h27
  2. Problème de simulation
    Par benben75 dans le forum Simulink
    Réponses: 0
    Dernier message: 27/08/2008, 22h01
  3. Réponses: 6
    Dernier message: 21/07/2008, 18h42
  4. Réponses: 2
    Dernier message: 17/04/2008, 17h14
  5. [Robotic Toolbox] Problème de simulation
    Par jennifer844 dans le forum MATLAB
    Réponses: 1
    Dernier message: 23/03/2008, 15h57

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