Verfasst am: 04.03.2022, 13:11
Titel: NaN Datenpunkte in 2D Matrix interpolieren / ergänzen
Hallo,
ich habe einen Datensatz einer 2D-Matrix (siehe Anhang), den ich für einen 2D-Lookup table in Simulink verwenden möchte. Dieser Datensatz enthält im "table data" Bereich bzw. in dem Bereich der ausgegeben werden soll einige unvollständige Datenpunkte.
Wenn ich diesen Datensatz in den 2D-Lookup table einfüge und die Simulation starten möchte, dann erscheint folgender Fehler:
In block 'test/2-D Lookup Table', the number of dimensions of 'Table data' is 1, but the block parameter 'Number of table dimensions' is 2. The dimensions of 'Table Data' and value of 'Number of table dimensions' must match.
Ich gehe davon aus, dass für die Verwendung im 2D-lookup table jedem X und Y Wert auch ein Z Wert zugewiesen sein muss. Abgesehen davon, möchte ich diese Matrix später grafisch (3D) darstellen. Und dafür bräuchte jeder Z-Wert einen X- und Y-Wert.
Nun habe ich mit verschiedenen Funktionen versucht, die mit "NaN" gekennzeichneten Datenpunkte zu interpolieren:
fillmissing
Damit wurden die Datenpunkte der Matrix zwar interpoliert, aber einige der interpolierten Werte wurden viel zu groß. Kann man diese Funktion erweitern, sodass die zu interpolierenden Werte nur im Bereich von z.B. 0 bis 100 eingesetzt werden? Eine Art Wertebereich für die einzusetzenden Werte schwebt mir vor, nur ich weiß nicht wie ich es mit der Funktion verbinden kann.
Wenn ich diesen Datensatz in den 2D-Lookup table einfüge und die Simulation starten möchte, dann erscheint folgender Fehler:
In block 'test/2-D Lookup Table', the number of dimensions of 'Table data' is 1, but the block parameter 'Number of table dimensions' is 2. The dimensions of 'Table Data' and value of 'Number of table dimensions' must match.
Das spricht für mich für einen Fehler bei der Angabe der Parameter. Bitte das Modell zur Verfügung stellen. Es muss nicht das gesamte Modell sein, sondern nur der Lookup-Table und idealerweise noch Input, so dass man ihn testen kann.
Eine Schwierigkeit sehe ich darin, dass in der ersten Spalte von Matrix wiederholt identische Werte vorkommen. Das würde ich erstmal zusammenfassen, z.B. mit
Dann lässt sich das auch schon als Oberfläche darstellen.
Vielleicht erübrigt sich damit schon der Bedarf von Interpolation (die hier ja zu einem großen Teil Extrapolation wäre).
Grüße,
Harald
_________________
1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
Einstellungen und Berechtigungen
Du kannst Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen. Du kannst Dateien in diesem Forum posten Du kannst Dateien in diesem Forum herunterladen
MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.