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 :

Indexage des blocs ToWorkspace


Sujet :

Simulink

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Février 2008
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 19
    Par défaut Indexage des blocs ToWorkspace
    Bonjour

    Je dois récupérer beaucoup de données de simulation sous Simulink pour les exploiter sous Matlab. Mon simulateur est composé de plusieurs cellules (tronçons d'autoroute), je dois mémoriser plusieurs informations pour chaque cellules.

    Pour l'instant, j'utilise des multiplexeurs pour concaténer les informations de même nature dans de blocs ToWorkspace. Mais étant donné que le nombre de cellules risque d'être important, Je voudrait changer d'approche pour la mémorisation des données.
    Ainsi, j'aimerais savoir s'il existe une astuce permettant de paramétrer les blocs ToWorspace (ou équivalent bien sur) avec un index. (je n'ai pas réussi à le faire directement).

    Merci d'avance

  2. #2
    Membre Expert
    Avatar de tug83
    Homme Profil pro
    MATLAB Geek !
    Inscrit en
    Juin 2006
    Messages
    1 781
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Alpes de Haute Provence (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : MATLAB Geek !
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2006
    Messages : 1 781
    Par défaut
    Indexer les blocs je ne sais pas mais tu pourrais indexer les variables comme dans cet exemple

  3. #3
    Membre averti
    Inscrit en
    Février 2008
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 19
    Par défaut
    C'est pas tout à fait çà que je voulait faire, mais ça m'as lancé, du coup j'ai trouvé une solution donc : Merci !!

    Je vais quand même expliquer ce que j'ai fait, ca pourait servir à quelqu'un. C'est pas très élégant, mais ca marche.

    Tout d'abord, dans le simulink : Créez une Matlab Function (image jointe) dans laquelle vous faites entrer un index (i), et toutes les variables que vous voulez mémoriser (Rau, Etat, ERR, ...). La Matlab function exécute le code suivant

    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
    18
    19
     
    function [] = saveCell( input_args )
     
    % Numéro de la cellule pour paramétrer le nom de la variable
    i = input_args(1);
    % Informations à mémoriser
    x = input_args(2:end);
     
    try
        % Récupération des données déjà mémorisées
        wCell = evalin('base',['wCell' num2str(i)] );
        % Concatènation avec les nouvelles données
        wCell = [wCell ; x'];
        % Ecriture du nouveau vecteur augmenté
        assignin('base',['wCell' num2str(i)],wCell);
    catch
        % Création du vecteur au premier appel de la fonction
        assignin('base',['wCell' num2str(i)],x');
    end
    Dans mon exemple, si i=1, Un vecteur wCell1 sera créé dans le Worspace et contiendra toutes les résultats de simulation relatives à la cellule 1.

    Si quelqu'un à des suggestion pour réaliser la même chose de manière plus élégante, je suis preneur. J'ai peur qu'en augmentant le temps de simulation et le nombre de cellule cette solution devienne trop gourmande en accès mémoire et donc en temps de simulation.

    Encore merci à toi tug83.
    Images attachées Images attachées  

  4. #4
    Membre averti
    Inscrit en
    Février 2008
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 19
    Par défaut
    En fait, ne faites pas ce que vous venez de lire précédemment, ça fait trop ramer la simulation. Il fallait s'en douter !!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Positionnement des blocs
    Par Manio 54 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 10
    Dernier message: 10/08/2005, 18h05
  2. [Info]Coloration des { blocs }
    Par zerovolt dans le forum Eclipse Java
    Réponses: 2
    Dernier message: 23/02/2005, 12h34
  3. Réponses: 13
    Dernier message: 20/01/2005, 12h40
  4. problème pour faire des blocs
    Par tinkye_winkye dans le forum Mise en page CSS
    Réponses: 6
    Dernier message: 04/01/2005, 14h13
  5. [Astuce][Thread]Utilisation des blocs synchronized
    Par Pill_S dans le forum Concurrence et multi-thread
    Réponses: 14
    Dernier message: 21/07/2004, 14h14

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