Contenu principal

Simulation Data Inspector

Inspecter et comparer des données et résultats de simulation pour valider et itérer sur les designs de modèles

Description

Simulation Data Inspector permet de visualiser et de comparer plusieurs types de données.

Avec Simulation Data Inspector, vous pouvez inspecter et comparer les données de séries temporelles à plusieurs étapes de votre workflow. Cet exemple de workflow montre comment Simulation Data Inspector supporte toutes les étapes du cycle de design :

  1. View Simulation Data in Simulation Data Inspector ou Import Data from Workspace or File into Simulation Data Inspector

    Exécutez une simulation dans un modèle configuré pour enregistrer les données dans Simulation Data Inspector, ou importez des données à partir de l’espace de travail ou d’un fichier. Vous pouvez afficher et vérifier les données d’entrée du modèle ou inspecter les données de simulation enregistrées tout en modifiant de manière itérative le diagramme, les valeurs des paramètres ou la configuration du modèle. Pour plus d’informations sur l’enregistrement des données de simulation, consultez Save Simulation Data.

  2. Inspect Simulation Data

    Tracez des signaux sur plusieurs sous-tracés, effectuez un zoom avant et arrière sur les axes de tracé indiqués et utilisez les curseurs de données pour comprendre et évaluer les données. Vous pouvez choisir parmi plusieurs visualisations, notamment les tracés temporels, les tracés de tableau, les tracés de carte, les sparklines et les tracés XY. Pour plus d’informations sur la présentation efficace des données, consultez Create Plots Using the Simulation Data Inspector.

  3. Compare Simulation Data

    Comparez des signaux individuels ou des simulations et analysez les résultats de la comparaison à l’aide de tolérances relatives, absolues et temporelles. Les outils de comparaison proposés par Simulation Data Inspector facilitent le design itératif et vous permettent de mettre en évidence les signaux qui ne répondent pas à vos exigences de tolérance. Pour plus d’informations sur l’opération de comparaison, consultez How the Simulation Data Inspector Compares Data.

  4. Save and Share Simulation Data Inspector Data and Views

    Partagez vos résultats avec d’autres personnes en enregistrant les données et les vues de Simulation Data Inspector.

Vous pouvez également exploiter les capacités de Simulation Data Inspector à partir de la ligne de commande. Pour plus d’informations, consultez Inspect and Compare Data Programmatically.

The Inspect pane of the Simulation Data Inspector shows three subplots. The subplots show time plots of data gathered from three runs of the model sldemo_autotrans. The first subplot shows the EngineRPM signals from all three runs. The second subplot shows the ShiftLogic signals from all three runs. The third subplot shows the VehicleSpeed signal from all three runs.

Ouvrir Simulation Data Inspector

  • Barre d’outils Simulink® : Dans l’onglet Simulation, sous Review Results, cliquez sur Data Inspector.

  • À partir d’un modèle : cliquez sur le badge de diffusion en streaming d’un signal pour ouvrir Simulation Data Inspector et pour tracer le signal.

  • Invite de commande MATLAB® :

Exemples

développer tout

Créez une simulation, ajoutez-y des données, puis affichez les données dans Simulation Data Inspector.

Créer des données pour la simulation

Créez deux objets timeseries pour inclure les données d’un signal sinusoïdal et d’un signal cosinusoïdal. Attribuez un nom descriptif à chaque objet timeseries.

time = linspace(0,20,100);

sine_vals = sin(2*pi/5*time);
sine_ts = timeseries(sine_vals,time);
sine_ts.Name = "Sine, T=5";

cos_vals = cos(2*pi/8*time);
cos_ts = timeseries(cos_vals,time);
cos_ts.Name = "Cosine, T=8";

Créer une simulation et ajouter les données

Utilisez la fonction Simulink.sdi.view pour ouvrir Simulation Data Inspector.

Simulink.sdi.view

Pour importer des données dans Simulation Data Inspector à partir de l’espace de travail, créez un objet Simulink.sdi.Run à l’aide de la fonction Simulink.sdi.Run.create. Ajoutez des informations concernant la simulation à ses métadonnées à l’aide des propriétés Name et Description de l’objet Run.

sinusoidsRun = Simulink.sdi.Run.create;
sinusoidsRun.Name = "Sinusoids";
sinusoidsRun.Description = "Sine and cosine signals with different frequencies";

Utilisez la fonction add pour ajouter les données que vous avez créées dans l’espace de travail à la simulation vide.

add(sinusoidsRun,"vars",sine_ts,cos_ts);

Tracer des données dans Simulation Data Inspector

Utilisez la fonction getSignalByIndex pour accéder aux objets Simulink.sdi.Signal qui contiennent les donnés du signal. Vous pouvez utiliser les propriétés de l’objet Simulink.sdi.Signal pour spécifier le style et la couleur de la ligne du signal, puis tracer le signal dans Simulation Data Inspector. Spécifiez les propriétés LineColor et LineDashed pour chaque signal.

sine_sig = getSignalByIndex(sinusoidsRun,1);
sine_sig.LineColor = [0 0 1];
sine_sig.LineDashed = "-.";

cos_sig = sinusoidsRun.getSignalByIndex(2);
cos_sig.LineColor = [1 0 0];
cos_sig.LineDashed = "--";

Utilisez la fonction Simulink.sdi.setSubPlotLayout pour configurer la disposition d’un sous-tracé 2 X 1 dans la zone de tracé de Simulation Data Inspector. Ensuite, utilisez la fonction plotOnSubplot pour tracer le signal sinusoïdal sur le sous-tracé supérieur et le signal cosinusoïdal sur le sous-tracé inférieur.

Simulink.sdi.setSubPlotLayout(2,1);

plotOnSubPlot(sine_sig,1,1,true);
plotOnSubPlot(cos_sig,2,1,true);

The sine wave and cosine wave signals are plotted in the Simulation Data Inspector. Two subplots align vertically. In the upper subplot, the Sine, T=5 signal is plotted in blue with a dash-dotted line style. In the lower subplot, Cosine, T=8 signal is plotted in red with a dashed line style.

Fermer Simulation Data Inspector et enregistrer les données

Une fois l’inspection des données de signal tracées terminée, vous pouvez fermer Simulation Data Inspector et enregistrer la session dans un fichier MLDATX.

Simulink.sdi.close("sinusoids.mldatx")

Vous pouvez utiliser la fonction Simulink.sdi.plot pour tracer le résultat de la simulation dans Simulation Data Inspector. Ouvrez le modèle vdp, qui modélise l’équation différentielle Van der Pol de second ordre. Pour plus d’informations sur le modèle, consultez Van der Pol Oscillator.

mdl = "vdp";
open_system(mdl)

The vdp model

Simulez le modèle. Le modèle enregistre deux signaux : x1 et x2. Le résultat de la simulation est stocké dans un seul objet SimulationOutput nommé out.

out = sim(mdl);

Utilisez la fonction Simulink.sdi.plot pour ouvrir Simulation Data Inspector et tracer le résultat.

Simulink.sdi.plot(out);

Simulation results are plotted on two vertically aligned subplots in the Simulation Data Inspector. The x1 signal is plotted in the upper subplot. The x2 signal is plotted in the lower subplot.

Vous pouvez utiliser l’interface programmatique de Simulation Data Inspector pour modifier un paramètre pour le même signal dans plusieurs simulations. Cet exemple ajoute une tolérance absolue de 0.1 à un signal dans les quatre simulations de données.

Commencez par effacer l’espace de travail et par charger la session Simulation Data Inspector avec les données. La session inclut les données enregistrées depuis quatre simulations d’un modèle Simulink® de contrôleur longitudinal pour un avion.

Simulink.sdi.clear
Simulink.sdi.load('AircraftExample.mldatx');

Utilisez la fonction Simulink.sdi.getRunCount pour obtenir le nombre de simulations dans Simulation Data Inspector. Vous pouvez utiliser ce nombre comme indice pour une boucle For qui s’exécute à chaque simulation.

count = Simulink.sdi.getRunCount;

Ensuite, utilisez une boucle For pour affecter la tolérance absolue de 0.1 au premier signal de chaque simulation.

for a = 1:count
    runID = Simulink.sdi.getRunIDByIndex(a);
    aircraftRun = Simulink.sdi.getRun(runID);
    sig = getSignalByIndex(aircraftRun,1);
    sig.AbsTol = 0.1;
end

Exemples associés

Utilisation programmatique

développer tout

Simulink.sdi.view ouvre Simulation Data Inspector à partir de la ligne de commande MATLAB.

Historique des versions

Introduit dans R2010b

développer tout