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 :

Application d'un script matlab dans un bloc simulink


Sujet :

Simulink

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2012
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2012
    Messages : 9
    Points : 6
    Points
    6
    Par défaut Application d'un script matlab dans un bloc simulink
    Bonjour,

    j'ai écrit un script Matlab qui permet de réduire le nombre de points d'une courbe. Par exemple, j'ai une courbe (fichier txt) de 1000 points. L'utilisateur choisit de diviser le nombre de points par 10. Le script remplace les 10 premiers points par la moyenne de ces 10 points, puis idem pour les 10 points suivants..

    Je voudrais utiliser tout ca sous simulink, c'est à dire avoir une source qui soit mon fichier texte, un bloc qui applique mon script matlab et où l'utilisateur choisit par combien il divise le nombre de points, et un scope pour visualiser tout ca.

    Mais je suis vmt une chèvre en simulink. est ce possible? des pistes?

    merci beaucoup d'avance!!

  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,

    Pourrais-tu nous en dire un peu plus sur la finalité de ton problème? Pourquoi faire ca dans Simulink?

    Duf
    Simulink & Embedded Coder

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

  3. #3
    Modérateur
    Avatar de le fab
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2005
    Messages
    1 882
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2005
    Messages : 1 882
    Points : 3 432
    Points
    3 432
    Par défaut
    +1
    simulink n'est pas adapté à ce que je comprends de ton probleme
    tu devrais plutôt regardé du coté des GUI

  4. #4
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2012
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2012
    Messages : 9
    Points : 6
    Points
    6
    Par défaut
    En fait je voudrais utiliser simulink pour pouvoir plus facilement "jouer" avec les courbes obtenues dans le scope ( zoom, changement d'échelle..)

    D'autre part, je pense que l'utilisation d'un schéma simulink serait plus intuitive et plus facile pour l'utilisateur.Car pour l'instant, l'utilisateur doit charger le fichier txt initial en tapant : load('fichier.txt'), ce que je trouve assez contraignant..

    Mais je me trompes peut être, GUI est-il plus adapté à mon problème? Il me semble que c'est assez difficile d'utilisation..

  5. #5
    Modérateur
    Avatar de le fab
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2005
    Messages
    1 882
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2005
    Messages : 1 882
    Points : 3 432
    Points
    3 432
    Par défaut
    le gui est très adapté à ton pb
    c'est toi qui va faire le load dans le programme
    puis rajouter une textbox pour diviseur de nb de point et sur callback de celui ci mettre à jour automatiquement une courbe que tu affiches sur ce même gui
    pour le zoom, tu peux le gérer aussi via le gui (fonction zoom ou textboxs + xlim/ylim) ...
    et pour l'utilisateur c'est la solution la moins barbare

    regarde les exemples de gui dans l'aide matlab

  6. #6
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2012
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2012
    Messages : 9
    Points : 6
    Points
    6
    Par défaut
    Oui effectivement le GUI a l'air plus adapté. Après , je ne l'ai jamais utilisé donc à voir.

    A première vue, je comprends bien comment créer "l'interface' c'est à dire, dessiner des axes, mettre des push button ..., mais je ne comprends pas comment inclure mon sccript matlab dans tout ca, et comment rendre fonctionnel cette interface.

  7. #7
    Modérateur
    Avatar de le fab
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2005
    Messages
    1 882
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2005
    Messages : 1 882
    Points : 3 432
    Points
    3 432
    Par défaut
    va voir les tutoriels

    le premier gui se fait dans la douleur mais quand on a compris, c'est pas si compliqué que ça en a l'air

  8. #8
    Membre éclairé
    Homme Profil pro
    Doctorant automatique
    Inscrit en
    Janvier 2012
    Messages
    446
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Doctorant automatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Janvier 2012
    Messages : 446
    Points : 719
    Points
    719
    Par défaut
    Personnellement, il m'a bien fallu 2 à 3 semaines acharné pour comprendre ce fichu gui... vraiment la galère, mais j'approuve avec ce qui a été dit au dessus : tu seras bien content de le maîtriser après et de ne plus te poser ce genre de questions...

    Bachote les exemples matlab : même si c'est mal foutu, ça reste - à ma connaissance - la meilleure source d'apprentissage. Les tutoriels de "développez" te permettront d'avoir un bon récapitulatif des choses principales, mais je ne le conseillerais pas en première lecture, c'est un peu hardu : c'est plus fait pour synthétiser ce qu'on a appris dans sa tête je trouve.

    Et je te donne au passage un petit "truc" qui te permettra de comprendre le plus dur en mon sens.

    Essaye de comprendre ce code :

    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
    function test
        f2 = @f1;
        f2(0)
        f2('truc', 3)
        f2('machin', 999)
        function f1 (varargin)
            if nargin == 1
                disp('salut')
            elseif nargin == 2
                if varargin(1) == 'truc'
                    disp(varargin(2))
                else
                    disp(['ta variable ' varargin(1) ' nest pas pris en compte'])
                end
            end
        end
    end
    ça devrait t'aider pour pas mal de choses... en particulier ce "@"...
    Je ne réponds pas aux MP techniques. Le forum est là pour ça.
    La raison est simple : il est ennuyeux de répondre à une seule personne, alors que la réponse peut servir à tout le monde.
    Conclusion : n'hésitez pas à utiliser le forum pour poser vos questions.
    Matlab 2005 - ver.7.1.0.183 (R14) Service Pack 3

  9. #9
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2012
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2012
    Messages : 9
    Points : 6
    Points
    6
    Par défaut
    ok je commence à sortir un peu la tête de l'eau..

    j'ai encore quelques questions:

    Pour charger un fichier texte, puis le tracer: je mets un "edit button" dans lequel l'utilisateur entre le nom du fichier. Ensuite je mets un "pushbutton" que j'appelle plot qui permet de tracer la courbe.

    Mais que dois-je écrire dans le code du edit button et du push button pour qu'il comprenne que le ficher texte à tracer est celui que j'ai nommé avec le edit button?

    suis je clair?

    merci d'avance!

  10. #10
    Membre éclairé
    Homme Profil pro
    Doctorant automatique
    Inscrit en
    Janvier 2012
    Messages
    446
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Doctorant automatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Janvier 2012
    Messages : 446
    Points : 719
    Points
    719
    Par défaut
    Montre nous ce que tu as déjà fait.
    Je ne réponds pas aux MP techniques. Le forum est là pour ça.
    La raison est simple : il est ennuyeux de répondre à une seule personne, alors que la réponse peut servir à tout le monde.
    Conclusion : n'hésitez pas à utiliser le forum pour poser vos questions.
    Matlab 2005 - ver.7.1.0.183 (R14) Service Pack 3

Discussions similaires

  1. Réponses: 4
    Dernier message: 16/09/2014, 15h44
  2. Réponses: 0
    Dernier message: 13/05/2014, 10h05
  3. comment utiliser un script MATLAB dans un bloc Simulink
    Par Tchoffo dans le forum Simulink
    Réponses: 1
    Dernier message: 12/05/2012, 16h03
  4. inclure un script matlab dans labview
    Par elmhmdi dans le forum LabVIEW
    Réponses: 0
    Dernier message: 28/04/2012, 00h46
  5. Utiliser fsolve dans un bloc simulink
    Par Gilleo dans le forum Simulink
    Réponses: 0
    Dernier message: 04/01/2008, 15h14

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