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 :

Extraire un echantillon d'une fonction reguliere


Sujet :

Simulink

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

    Informations forums :
    Inscription : Novembre 2009
    Messages : 7
    Points : 1
    Points
    1
    Par défaut Extraire un echantillon d'une fonction reguliere
    Bonsoir ,


    J'ai une fonction reguliere x(t)( solution d'une equation differentielle) et j'aimerai envoyer à un bloc et à une periode donnée T, les valeurs x(0),x(T),X(2T). Ce bloc doit les traiter successivement,par exemple, j'envoie x(0), le nouveau bloc me crée y(0) , ensuite j'envoi x(1), il me crée y(1)..

    Merci d'avance


    Cordialement.

  2. #2
    Expert confirmé
    Avatar de duf42
    Homme Profil pro
    Formateur en informatique
    Inscrit en
    Novembre 2007
    Messages
    3 111
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Formateur en informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2007
    Messages : 3 111
    Points : 4 661
    Points
    4 661
    Par défaut
    Bonjour,

    Il nous faudrait un petit peu plus d'informations pour te répondre:

    Tu fais celà sous Simulink?

    Les valeurs que tu veux envoyer sortent d'où? Que fais le bloc suivant?

    Bonne apm,
    Duf
    Simulink & Embedded Coder

    Au boulot : Windows 7 , MATLAB r2016b
    A la maison : ArchLinux mais pas MATLAB

  3. #3
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2009
    Messages : 7
    Points : 1
    Points
    1
    Par défaut
    Merci de m'avoir repondu.

    Oui, je fais ça sous simulink. J'ai crée un bloc classique representant la dynamique d'une"voiture" commandée par sa vitesse angulaire et sa vitesse.
    ( xpoint=vcos(theta),ypoint=vsin(theta),thetapoint=omega). Je genere la trajectoire d'un cercle en jouant sur v et omega. Maintenant, supposons que je perturbe les sorties x et y à l'aide d'un bruit blanc, j'aimerai recuperer les données reels à l'aide d'un filtre de Kalman par exemple. Mais, pour faire ce filtre, j'aimerai étudier les valeurs perturbés et les valeurs réelles , iteration par iteration. Le probleme est que Simulink m'envoie les données en continue, comment faire pour avoir des valeurs tous les delta T?

  4. #4
    Expert confirmé
    Avatar de duf42
    Homme Profil pro
    Formateur en informatique
    Inscrit en
    Novembre 2007
    Messages
    3 111
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Formateur en informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2007
    Messages : 3 111
    Points : 4 661
    Points
    4 661
    Par défaut
    Je vois pas trop le problème en fait, Simulink ne te sort pas des valeurs continues mais échantillonnées à une certaine fréquence (des vecteurs de points), il est donc aisé de retrouver les valeurs à des instants donnés dans le vecteur.
    Simulink & Embedded Coder

    Au boulot : Windows 7 , MATLAB r2016b
    A la maison : ArchLinux mais pas MATLAB

  5. #5
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2009
    Messages : 7
    Points : 1
    Points
    1
    Par défaut
    J'avais remarqué que ce n'était pas continue mais que la frequence etait très elevée.Mais vu que je debute en matlab je ne sais pas comment diminuer la frequence?

  6. #6
    Expert confirmé
    Avatar de duf42
    Homme Profil pro
    Formateur en informatique
    Inscrit en
    Novembre 2007
    Messages
    3 111
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Formateur en informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2007
    Messages : 3 111
    Points : 4 661
    Points
    4 661
    Par défaut
    Là tu as plusieurs solutions en fonction de ce que tu veux avoir au final:

    - Soit tu souhaites réellement diminuer la fréquence de calcul du modèle, dans ce cas, il faut aller dans le menu Configuration Parameters (menu Simulation) et redéfinir les paramètres du solveur en prenant par exemple un solveur à pas fixe et en fixant ce pas à la valeur que tu souhaites.

    - Soit tu ne veux pas modifier les conditions de calcul mais tu veux récupérer certaines valeurs à des instants donnés, dans ce cas, il "suffit" de traiter les vecteurs de sortie, par exemple en déterminant l'index des points qui t'intéresse dans le vecteur temps (fonction FIND) puis en les récupérant.

    J'espère que ca fait avancer le schmilblick...
    Simulink & Embedded Coder

    Au boulot : Windows 7 , MATLAB r2016b
    A la maison : ArchLinux mais pas MATLAB

  7. #7
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2009
    Messages : 7
    Points : 1
    Points
    1
    Par défaut
    Je suis de retour car ça ne repond pas à ma question...Enfin, je n'y arrive pas.

    ça m'a l'air pourtant simple.

    Je crée un schema bloc, comment recuper une info sortante à un instant t dans le cas d'une equation differentielle;

    Par exemple: X(t)'=X(t). en faisant une schema bloc, j'ai entierement decrit le systeme. Maintenant comment je fais pour recuperer X(3) par exemple

    Merci

  8. #8
    Expert confirmé
    Avatar de duf42
    Homme Profil pro
    Formateur en informatique
    Inscrit en
    Novembre 2007
    Messages
    3 111
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Formateur en informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2007
    Messages : 3 111
    Points : 4 661
    Points
    4 661
    Par défaut
    Si tu exportes ton signal X vers le workspace, il t'es ensuite aisé de récupérer les valeurs que tu souhaites...
    Simulink & Embedded Coder

    Au boulot : Windows 7 , MATLAB r2016b
    A la maison : ArchLinux mais pas MATLAB

  9. #9
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2009
    Messages : 7
    Points : 1
    Points
    1
    Par défaut
    J'imagine que oui mais comment faire? Je suis un debutant...

  10. #10
    Expert confirmé
    Avatar de duf42
    Homme Profil pro
    Formateur en informatique
    Inscrit en
    Novembre 2007
    Messages
    3 111
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Formateur en informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2007
    Messages : 3 111
    Points : 4 661
    Points
    4 661
    Par défaut
    A quel niveau se situe ton problème? Pour enregistrer la variable dans le workspace ou pour extraire la valeur souhaitée?
    Simulink & Embedded Coder

    Au boulot : Windows 7 , MATLAB r2016b
    A la maison : ArchLinux mais pas MATLAB

  11. #11
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2009
    Messages : 7
    Points : 1
    Points
    1
    Par défaut
    J'ai trouvé comment enregistrer le signal merci pour l'astuce. Mais , il demeure un problème. J'ai un signal avec un pas de temps par defaut , comment controler ce pas?

    merci.

  12. #12
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2009
    Messages : 7
    Points : 1
    Points
    1
    Par défaut
    JE crois que je viens de resoudre le problème;

    Merci

Discussions similaires

  1. Extraire des donnes dans une fonction Javascript
    Par napi15 dans le forum Langage
    Réponses: 4
    Dernier message: 20/04/2013, 00h11
  2. [csaps] Pour chaque x, extraire les y d'une fonction
    Par mikael.jaffre dans le forum MATLAB
    Réponses: 2
    Dernier message: 18/10/2011, 15h17
  3. Extraire le code d'une fonction
    Par Le Mth dans le forum Général Python
    Réponses: 4
    Dernier message: 19/02/2009, 01h30
  4. Réponses: 3
    Dernier message: 05/09/2006, 15h59
  5. [RegEx] Expression reguliere extraire un param d une URL
    Par venomelektro dans le forum Langage
    Réponses: 3
    Dernier message: 18/10/2005, 17h28

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