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 :

Réaliser un algorithme sous Simulink


Sujet :

Simulink

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Mai 2013
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Mai 2013
    Messages : 12
    Points : 4
    Points
    4
    Par défaut Réaliser un algorithme sous Simulink
    Bonjour,

    Je n'arrive pas à établir l'algorithme ci-joint sous Simulink car trop de "if" me paraît difficile à réaliser.
    Si quelqu'un peut m'aider, je serais très reconnaissant!

    Je vous remercie d'avance.
    Images attachées Images attachées  

  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,

    Je n'ai pas tout vérifié mais cet algorithme là ne se résoudrait-il pas un IF...ELSE en comparant la valeur absolue de A et la valeur absolue de B du genre:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    if (abs(A) > sqrt(2) * abs(B))
    ...
    else
    ...
    Duf
    Simulink & Embedded Coder

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

  3. #3
    FLB
    FLB est déconnecté
    Modérateur
    Avatar de FLB
    Homme Profil pro
    Ing. Aérospatiale
    Inscrit en
    Juin 2003
    Messages
    770
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Ing. Aérospatiale
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juin 2003
    Messages : 770
    Points : 1 185
    Points
    1 185
    Par défaut
    Salut,
    tu peux utiliser le bloc "if" :
    http://www.mathworks.fr/fr/help/simulink/slref/if.html

  4. #4
    Candidat au Club
    Profil pro
    Inscrit en
    Mai 2013
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Mai 2013
    Messages : 12
    Points : 4
    Points
    4
    Par défaut
    Bonjour,
    Merci pour votre réponse.
    J'ai déjà réalisé cet algorithme sous Matlab.C'est simulink qui m'a posé un problème.


    Citation Envoyé par duf42 Voir le message
    Bonjour,

    Je n'ai pas tout vérifié mais cet algorithme là ne se résoudrait-il pas un IF...ELSE en comparant la valeur absolue de A et la valeur absolue de B du genre:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    if (abs(A) > sqrt(2) * abs(B))
    ...
    else
    ...
    Duf

  5. #5
    Candidat au Club
    Profil pro
    Inscrit en
    Mai 2013
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Mai 2013
    Messages : 12
    Points : 4
    Points
    4
    Par défaut
    Salut, merci pour votre aide.
    Il me semble que ça va marcher avec ce bloc. Mais j'ai du mal à le réaliser quand il y a 3 if successifs. Pouvez-vous me donner une idée?

    Citation Envoyé par FLB Voir le message
    Salut,
    tu peux utiliser le bloc "if" :
    http://www.mathworks.fr/fr/help/simulink/slref/if.html

  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
    Tu peux aussi utiliser un bloc Switch de la bibliothèque Signal Routing (qui sont peut-être plus simple à enchaîner).
    Simulink & Embedded Coder

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

  7. #7
    FLB
    FLB est déconnecté
    Modérateur
    Avatar de FLB
    Homme Profil pro
    Ing. Aérospatiale
    Inscrit en
    Juin 2003
    Messages
    770
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Ing. Aérospatiale
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juin 2003
    Messages : 770
    Points : 1 185
    Points
    1 185
    Par défaut
    Salut,
    soit tu imbriques des blocs, de la même façon que tu l'as fait en Matlab, soit tu fait un seul bloc avec de nombreux elseif, chacun étant la concaténation des conditions :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    if (A>0 && B>0 && A>sqrt(2)*B)
    elseif(A>0 && B>0 && A>-sqrt(2)*B)
    %etc

  8. #8
    Candidat au Club
    Profil pro
    Inscrit en
    Mai 2013
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Mai 2013
    Messages : 12
    Points : 4
    Points
    4
    Par défaut
    Citation Envoyé par duf42 Voir le message
    Tu peux aussi utiliser un bloc Switch de la bibliothèque Signal Routing (qui sont peut-être plus simple à enchaîner).
    Merci beaucoup! J'essaierai ça.

  9. #9
    Candidat au Club
    Profil pro
    Inscrit en
    Mai 2013
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Mai 2013
    Messages : 12
    Points : 4
    Points
    4
    Par défaut
    Citation Envoyé par FLB Voir le message
    Salut,
    soit tu imbriques des blocs, de la même façon que tu l'as fait en Matlab, soit tu fait un seul bloc avec de nombreux elseif, chacun étant la concaténation des conditions :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    if (A>0 && B>0 && A>sqrt(2)*B)
    elseif(A>0 && B>0 && A>-sqrt(2)*B)
    %etc

    Salut, merci bien! J'aime bien votre deuxième façon!

Discussions similaires

  1. Réaliser un délai sous Stateflow Simulink
    Par camstage dans le forum Simulink
    Réponses: 3
    Dernier message: 18/11/2014, 09h20
  2. Réaliser une thread sous Linux ?
    Par Padreweak dans le forum Threads & Processus
    Réponses: 6
    Dernier message: 06/12/2007, 10h01
  3. [POO] Réalisation de classe sous PHP5 pour plus de lisibilité
    Par ChriGoLioNaDor dans le forum Langage
    Réponses: 4
    Dernier message: 19/02/2007, 19h42
  4. Acquisition de données sous simulink via port TCPIP
    Par Francis63 dans le forum MATLAB
    Réponses: 3
    Dernier message: 06/12/2006, 11h22
  5. Réaliser un tableau sous access
    Par andyvo dans le forum Access
    Réponses: 2
    Dernier message: 28/12/2005, 12h54

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