Hauptinhalt

Simulation Data Inspector

R2026b

Ü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. Sie können auch Registerkarten (seit R2026b) verwenden, um verschiedene Visualisierungen und Layouts zu organisieren. 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. Mithilfe mehrerer Registerkarten können Sie Modell-Eingabedaten anzeigen und überprüfen oder protokollierte Simulationsdaten untersuchen, 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

    Verwenden Sie mehrere Registerkarten, um verschiedene Ansichten Ihrer Simulationsdaten zu organisieren. Zeichnen Sie auf jeder Registerkarte Signale auf mehreren Unterdiagrammen, vergrößern und verkleinern Sie bestimmte Diagrammachsen 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 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 unterstützen 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 den Simulation Data Inspector auch über die Befehlszeile öffnen. Weitere Informationen finden Sie unter Inspect Data Programmatically und Compare Data Programmatically.

The Inspect pane of the Simulation Data Inspector shows three subplots on a tab. 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 Simulink.sdi.plot, um den Simulation Data Inspector zu öffnen und Daten zu plotten.

Beispiele

alle erweitern

Erstellen Sie eine Ausführung, fügen Sie Daten hinzu und zeigen Sie die Daten anschließend in der aktiven Registerkarte des 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,101);

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

Öffnen Sie den Simulation Data Inspector mithilfe von Simulink.sdi.view.

Simulink.sdi.view

Um Daten aus dem Workspace in den Simulation Data Inspector zu importieren, erstellen Sie mithilfe von Simulink.sdi.Run.create ein Simulink.sdi.Run-Objekt. Fügen Sie Metadateninformationen 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";

Fügen Sie die im Workspace erstellten Daten zur leeren Ausführung hinzu.

add(sinusoidsRun,"vars",sine_ts,cos_ts);
 0.091530s wall, 0.156250s user + 0.031250s system = 0.187500s CPU (204.9%)

Daten im Simulation Data Inspector darstellen

Greifen Sie mithilfe von getSignalByIndex auf das Simulink.sdi.Signal-Objekt zu, das dem jeweiligen Signal entspricht. 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 beispielsweise 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 Simulink.sdi.setSubPlotLayout, um im Plotbereich der aktiven Registerkarte des Simulation Data Inspector ein Layout für ein Teildiagramm mit einer Größe von 2-mal-1 zu konfigurieren. Stellen Sie mithilfe von plotOnSubPlot das Sinussignal im oberen Unterdiagramm und das Kosinussignal im unteren Unterdiagramm dar.

Simulink.sdi.setSubPlotLayout(2,1);

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

A 2-by-1 subplot layout for Tab1 in the Simulation Data Inspector. The sine signal is plotted in the upper subplot and the cosine signal is plotted in the lower subplot.

Prüfen von Daten mithilfe von Cursors

Um auf den Wert eines Signals zu einem bestimmten Zeitpunkt zuzugreifen, können Sie dem Diagramm einen Cursor hinzufügen. Zum Beispiel scheint das Sine-Signal bei etwa 6 Sekunden ein lokales Maximum aufzuweisen. Fügen Sie dem Diagramm einen Cursor hinzu und beobachten Sie den Signalwert bei 6 Sekunden.

Simulink.sdi.setNumCursors(1)
Simulink.sdi.setCursorPositions("left",6)

The Simulation Data Inspector with a cursor positioned at 6 seconds in Tab1. The cursor is applied to both subplots.

Fügen Sie zwei Cursors hinzu, um die Zeitdifferenz zwischen zwei Punkten zu messen oder eine deskriptive Statistik innerhalb des definierten Intervalls zu erstellen.

Simulink.sdi.setNumCursors(2)
Simulink.sdi.setCursorPositions("left",5,"right",7)

The Simulation Data Inspector with two cursors positioned at 5 seconds and 7 seconds in Tab1.

Bestimmen Sie den maximalen lokalen Abtastwert im Sine-Signal zwischen den Cursors mithilfe der Funktion max.

[t1,t2] = Simulink.sdi.getCursorPositions;
localMax = max(sine_sig,t1,t2)
localMax = 
0.9980

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

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

Parameter

Für diese Anwendung sind keine Parameter verfügbar.

Programmatische Nutzung

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

Versionsverlauf

Eingeführt in R2010b

alle erweitern