Hauptinhalt

Simulation Data Inspector

Überprüfen und vergleichen von Daten und Simulationsergebnissen zur Validierung und Iteration von Modellentwürfen

Beschreibung

Der Simulation Data Inspector visualisiert und vergleicht verschiedene Arten von Daten.

Mit dem Simulation Data Inspector können Sie Zeitreihendaten in mehreren Phasen Ihres Workflows überprüfen und vergleichen. Dieser beispielhafte Workflow veranschaulicht, wie der Simulation Data Inspector alle Phasen des Entwurfszyklus unterstützt:

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

    Führen Sie eine Simulation in einem Modell durch, das für die Protokollierung von Daten im Simulation Data Inspector konfiguriert ist, oder importieren Sie Daten aus dem Workspace oder einer Datei. Sie können Modell-Eingabedaten anzeigen und überprüfen oder protokollierte Simulationsdaten überprüfen, während Sie Ihr Modelldiagramm, Parameterwerte oder die Modellkonfiguration iterativ ändern. Weitere Informationen zum Protokollieren von Simulationsdaten finden Sie unter Save Simulation Data.

  2. Inspect Simulation Data

    Zeichnen Sie Signale auf mehreren Unterdiagrammen, zoomen Sie bestimmte Diagrammachsen heran und weg und verwenden Sie Datencursor, um die Daten zu verstehen und auszuwerten. Sie können zwischen verschiedenen Visualisierungen wählen, darunter Zeit, Array, Karte, Sparklines und XY-Diagramme. Weitere Informationen zur effektiven Darstellung von Daten finden Sie unter Create Plots Using the Simulation Data Inspector.

  3. Compare Simulation Data

    Vergleichen Sie einzelne Signale oder Simulationsläufe und analysieren Sie Ihre Vergleichsergebnisse mit relativen, absoluten und Zeittoleranzen. Die Vergleichstools im Simulation Data Inspector erleichtern das iterative Design und ermöglichen es Ihnen, Signale hervorzuheben, die Ihre Toleranzanforderungen nicht erfüllen. Weitere Informationen zur Vergleichsfunktion finden Sie unter How the Simulation Data Inspector Compares Data.

  4. Save and Share Simulation Data Inspector Data and Views

    Teilen Sie Ihre Ergebnisse mit anderen, indem Sie die Daten und Ansichten des Simulation Data Inspector speichern.

Sie können die Funktionen des Simulation Data Inspector auch über die Befehlszeile nutzen. Weitere Informationen finden Sie unter 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.

Öffnen Sie die Simulation Data Inspector

  • Simulink®-Symbolleiste: Klicken Sie auf der Registerkarte Simulation unter Review Results auf Data Inspector.

  • Aus einem Modell: Klicken Sie auf das Streaming-Symbol eines Signals, um den Simulation Data Inspector zu öffnen und das Signal zu zeichnen.

  • MATLAB®-Befehlszeile:

    • Geben Sie Simulink.sdi.view ein, um den Simulation Data Inspector zu öffnen.

    • Verwenden Sie die Schaltfläche Simulink.sdi.plot, um den Simulation Data Inspector zu öffnen und Daten zu zeichnen.

Beispiele

alle erweitern

Erstellen Sie eine Ausführung, fügen Sie Daten hinzu und zeigen Sie die Daten anschließend im Simulation Data Inspector an.

Daten für die Ausführung erstellen

Erstellen Sie zwei timeseries-Objekte, um Daten für ein Sinus- und ein Kosinussignal zu speichern. Geben Sie jedem der timeseries-Objekte einen aussagekräftigen Namen.

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";

Ausführung erstellen und Daten hinzufügen

Verwenden Sie die Funktion Simulink.sdi.view, um den Simulation Data Inspector zu öffnen.

Simulink.sdi.view

Um Daten aus dem Workspace in den Simulation Data Inspector zu importieren, erstellen Sie mit der Funktion Simulink.sdi.Run.create ein Simulink.sdi.Run-Objekt. Fügen Sie den Metadaten Informationen zur Ausführung hinzu, indem Sie die Eigenschaften Name und Description des Run-Objekts verwenden.

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

Verwenden Sie die Funktion add, um die im Workspace erstellten Daten zur leeren Ausführung hinzuzufügen.

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

Daten im Simulation Data Inspector darstellen

Verwenden Sie die Funktion getSignalByIndex, um auf Simulink.sdi.Signal-Objekte zuzugreifen, die die Signaldaten enthalten. Mit den Eigenschaften des Simulink.sdi.Signal-Objekts können Sie den Linienstil und die Farbe für das Signal festlegen und das Signal im Simulation Data Inspector darstellen. Geben Sie die Eigenschaften LineColor und LineDashed für jedes Signal an.

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 = "--";

Verwenden Sie die Funktion Simulink.sdi.setSubPlotLayout, um im Plotbereich des Simulation Data Inspector ein Layout für einen Teilplot mit einer Größe von 2-mal-1 zu konfigurieren. Verwenden Sie anschließend die Funktion plotOnSubplot, um das Sinussignal im oberen Teil des Diagramms und das Kosinussignal im unteren Teil des Diagramms darzustellen.

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.

Simulation Data Inspector schließen und Daten speichern

Wenn Sie die Überprüfung der aufgezeichneten Signaldaten abgeschlossen haben, können Sie den Simulation Data Inspector schließen und die Sitzung in einer MLDATX-Datei speichern.

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

Mit der Funktion Simulink.sdi.plot können Sie Simulationsergebnisse im Simulation Data Inspector darstellen. Öffnen Sie das vdp-Modell, das die Van-der-Pol-Differentialgleichung zweiter Ordnung modelliert. Weitere Informationen zum Modell finden Sie unter Van der Pol Oscillator.

mdl = "vdp";
open_system(mdl)

The vdp model

Simulieren Sie das Modell. Das Modell protokolliert zwei Signale: x1 und x2. Die Simulationsergebnisse werden in einem einzigen SimulationOutput-Objekt mit dem Namen out gespeichert.

out = sim(mdl);

Verwenden Sie die Funktion Simulink.sdi.plot, um den Simulation Data Inspector zu öffnen und die Ergebnisse darzustellen.

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.

Sie können die programmatische Schnittstelle des Simulation Data Inspector verwenden, um einen Parameter für dasselbe Signal in mehreren Ausführungen zu ändern. In diesem Beispiel wird eine absolute Toleranz von 0.1 zu einem Signal in allen vier Datenausführungen hinzugefügt.

Bereinigen Sie zunächst den Workspace und laden Sie die Simulation Data Inspector-Sitzung mit den Daten. Die Sitzung umfasst protokollierte Daten aus vier Simulationen eines Simulink®-Modells eines Längsreglers für ein Flugzeug.

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

Verwenden Sie die Funktion Simulink.sdi.getRunCount, um die Anzahl der Ausführungen im Simulation Data Inspector anzuzeigen. Sie können diese Nummer als Index für eine for-Schleife verwenden, die bei jedem Durchlauf ausgeführt wird.

count = Simulink.sdi.getRunCount;

Verwenden Sie anschließend eine for-Schleife, um dem ersten Signal in jeder Ausführung die absolute Toleranz von 0.1 zuzuweisen.

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

Verwandte Beispiele

Programmatische Nutzung

alle erweitern

Simulink.sdi.view öffnet den Simulation Data Inspector über die Befehlszeile MATLAB.

Versionsverlauf

Eingeführt in R2010b

alle erweitern