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 :

Verification de model


Sujet :

Simulink

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2009
    Messages
    209
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 209
    Par défaut Verification de model
    bonjour a tous,

    Pensez vous qu'on peut vérifier le comportement des models qu'on est entrain de developper sur simulink avec des scripts ecrits sur matlab ? Pour le moment, les seuls outils de vérifications de modeles que j'utilise sont Un scope et des steps ou des signaux sinusoidaux. Avez vous des exemples de scripts qui peuvent remplacer ces scopes et ces steps, et qui, une fois lancés, exécutent automatiquement plusieurs tests a la fois ?

    Merci beaucoup

  2. #2
    Membre éprouvé
    Avatar de mr_langelot
    Profil pro
    Inscrit en
    Août 2003
    Messages
    113
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2003
    Messages : 113
    Par défaut
    Bonjour,

    * Au lieu d'un step, tu mets une variable matlab d'entrée (sources>simin).

    * Au lieu (ou en parallèle) de scope, tu mets une variable de sortie (sources>workspace).

    * tu fais un .m qui va définir tes variables d'entrée, lancer ton modèle simulink et analyser les variables de sortie.

    * tu itéres après en changeant tes entrées, en sauvegardant tes résultats pour chaque itération.

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2009
    Messages
    209
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 209
    Par défaut
    d'accord, merci pour la reponse.

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2009
    Messages
    209
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 209
    Par défaut
    rebonjour´,

    donc voila, j'ai essayé de tester mon model à l'aide de ce script:


    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
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    % Start simulation
     
     
    clc;
    close all;
    clear all;
     
    simulation_input; % j'ai mis les inputs de ma simulation dans ce fichier
     
     
    % =========================================================================
     
    for loop = 1:length(test_cases)
        tic                                                      
        model_folder = cd;                                       
        simulation_input;                                           
     
        case_loop           = sprintf('%d',test_cases(loop));    
     
        fprintf('================================================================\n')
        fprintf('Simulation of case %s...................',case_loop)
     
     
        % loading needed parameters
        % =========================================================================
        parameter_file = sprintf('D:/SimulinkModels/param_%s.m',case_loop);
        exec_file      = sprintf('run %s',parameter_file);
        eval(exec_file);
     
        %open_system(model_name);
     
     
     
        % starting simulation
        % =========================================================================
        set_param(model_name,'simulationmode',sim_mode)
        sim(model_name,[0 t_final]);
     
        fprintf('finished\n')
     
        % move result-files to data directory 
        % =====================================================================
        %     save results...
        fprintf('Plotting...................')
     
        figure;
        plot(time, output_1)
        saveas(gcf,['output_1_case_',case_loop,'.fig'])
        print (h,'-dpdf',['output_1_case_loop])
     
        fprintf('finished\n')
     
     
        t_sim_case            = toc;                     % CPU time end
        t_sim_case            = num2str(t_sim_case);
     
        fprintf('Simulation Real Time of case %s: %s\n', case_loop, t_sim_case)
        fprintf('================================================================\n')
     
        close all;
        clear all;
    end
     
     
    fprintf('All Simulations finished!!\n')
    quand je lance ma simulation, j'obtiens l'erreur suivante:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Plotting...................??? Error using ==> plot
    Invalid line property: 'time'.
     
    Error in ==> start at 47
        plot(time, output_1)
    et pourtant, j'ai bien prevu un block clock et une variable to workspace 'time'.

    Avez vous une idee ?

    Merci

  5. #5
    Membre éprouvé
    Avatar de mr_langelot
    Profil pro
    Inscrit en
    Août 2003
    Messages
    113
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2003
    Messages : 113
    Par défaut
    Bonjour,

    est-ce que la variable time est échantillonné de la même manière que output_1?

    J'ai toujours préferé redéfinir mon vecteur temps à posteriori.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    dt =  ; %période d'échantillonnage
    temps = 0 : dt : (size(output_1, 1 ou 2 selon) - 1) * dt;

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2009
    Messages
    209
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 209
    Par défaut
    Ok, ca marche. par contre, pourquoi on vous mettez size(output_1, 1 ou 2 selon) ? ca correspond a quoi le 1 et le 2 ? (desole pour les accents, j'ai un clavier anglais...)

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 10/07/2011, 19h20
  2. Verification des champs d'un formulaire
    Par 164emie dans le forum ASP
    Réponses: 5
    Dernier message: 19/11/2003, 14h03
  3. Réponses: 2
    Dernier message: 16/06/2003, 15h15
  4. programmation reseau - couche 2 du modele osi
    Par sahor dans le forum C++Builder
    Réponses: 3
    Dernier message: 06/11/2002, 18h33
  5. verification de doublons dans un tableau
    Par bohemianvirtual dans le forum C
    Réponses: 11
    Dernier message: 25/05/2002, 12h21

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