|
|
Lookup Tables gibt fälschlicherweise NaN wieder |
|
KK1996 |
Forum-Newbie
|
|
Beiträge: 3
|
|
|
|
Anmeldedatum: 15.05.19
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 15.05.2019, 10:41
Titel: Lookup Tables gibt fälschlicherweise NaN wieder
|
|
Hallo zusammen,
ich habe folgendes Problem. Ich habe ein 2D-Lookup Tables erstellt. Die Breakpoints sind als x und y benannt und die Matrix, die ich in den 2D-LU Block eingefügt habe, ist als z betitelt. Das Problem ist Folgendes:
Wenn ich für den Vektor x den Wert 2 und für den Vektor y den Wert 3000 eingebe, wird nan herausgegeben, obwohl dieser Punkt zwischen zwei in der Matrix vorhandenen Werten liegt.
Kann mir da jemand weiterhelfen?
Beschreibung: |
|
Download |
Dateiname: |
tableLU.PNG |
Dateigröße: |
129.41 KB |
Heruntergeladen: |
303 mal |
Beschreibung: |
|
Download |
Dateiname: |
Test.slx |
Dateigröße: |
21.61 KB |
Heruntergeladen: |
286 mal |
Beschreibung: |
|
Download |
Dateiname: |
z.mat |
Dateigröße: |
3.41 KB |
Heruntergeladen: |
324 mal |
Beschreibung: |
|
Download |
Dateiname: |
x.mat |
Dateigröße: |
313 Bytes |
Heruntergeladen: |
328 mal |
Beschreibung: |
|
Download |
Dateiname: |
y.mat |
Dateigröße: |
277 Bytes |
Heruntergeladen: |
350 mal |
|
|
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.492
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 15.05.2019, 11:28
Titel:
|
|
Hallo,
bei 2D kann Simulink nicht entlang einer Linie gehen, sondern braucht (min.) 4 Eckpunkte einer Fläche. Anscheinend wählt Simulink, wenn der y-Wert mit einem Table-Wert übereinstimmt, die Fläche rechts davon, und für y = 3250 und x = 2.15... ist NaN eingetragen.
Abhilfe kann neben einem anderen Algorithmus geschaffen werden, indem man den y-Wert minimal nach links verschiebt: 3000 - eps(3000)
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 ;)
|
|
|
KK1996 |
Themenstarter
Forum-Newbie
|
|
Beiträge: 3
|
|
|
|
Anmeldedatum: 15.05.19
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 15.05.2019, 12:29
Titel:
|
|
Hallo Harald,
vielen Dank für deine schnelle Antwort!
Ich verstehe noch nicht ganz, wieso das nach links verschieben das Problem lösen sollte, denn er bräuchte ja trotzdem noch 4 Eckpunkte für die korrekte Interpolation und das bloße nach links verschieben ändert ja den Punkt y=3250 und x=2.15.. nicht.
Gruß
Karan
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.492
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 15.05.2019, 13:10
Titel:
|
|
Hallo,
wenn du das etwas nach links verschiebst, wird ein Rechteck weiter links genommen, und das enthält keine NaN.
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 ;)
|
|
|
KK1996 |
Themenstarter
Forum-Newbie
|
|
Beiträge: 3
|
|
|
|
Anmeldedatum: 15.05.19
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 15.05.2019, 13:24
Titel:
|
|
Hallo Harald,
also ich habe jetzt einfach eine Spalte rechts von den 3000 hinzugefügt mit einem eps von 0.0001. Dort habe ich dieselben Werte von der 3000er Spalte eingetragen, sodass der Algorithmus den vierten Wert füllen kann.
Dummerweise muss das nun für alle Spalten gemacht werden, die ein nan enthalten... ist ein etwas aufwendiger Lösungsansatz
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.492
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 15.05.2019, 14:07
Titel:
|
|
Hallo,
ich behaupte, dass mein Vorschlag einfacher war... was spricht dagegen?
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
|
|
Impressum
| Nutzungsbedingungen
| Datenschutz
| FAQ
| RSS
Hosted by:
Copyright © 2007 - 2024
goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks
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.
|
|