|
|
Werte aus 2D Lookuptable Datenbereich als Input |
|
neuling1234 |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 14.05.2014, 17:54
Titel: Werte aus 2D Lookuptable Datenbereich als Input
|
|
|
|
|
Hallo zusammen,
ich habe vor in einem Projekt einen Motor mittels einer MicroAutoBox zu steuern.
Um festzustellen, welchen Drosselklappenwinkel ich für einen bestimmten Füllgrad des Zylinders benötige, möchte ich einen 2D-Lookuptable nutzen.
Einen Ausschnitt dazu habe ich als Bild angehängt.
Als X-Achse sind die einzelnen Drosselklappenwinkel angegeben, als Y-Achse unterschiedliche Drehzahlen. Als Beispiel, bei einer Drehzahl von 1000 U/min und einer Drosselklappenstellung von 6% hätte ich einen Füllgrad von 32%.
Normalerweise kann ich aus dieser Tabelle ja einen 2D-Lookuptable erstellen, bei dem ich Drehzahl und Drosselklappenwinkel als Eingang hätte und den Füllgrad als Ausgang.
Jetzt hätte ich allerdings gerne Drehzahl und Füllgrad als Eingang und wüsste gerne, welchen Drosselklappenwinkel ich dafür benötige.
Gibt es einen Weg diese "Invertierung" vorzunehmen?
Schon mal vielen Dank für eure Hilfe im Voraus.
Beschreibung: |
|
Download |
Dateiname: |
Unbenannt.PNG |
Dateigröße: |
201.93 KB |
Heruntergeladen: |
425 mal |
|
|
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.492
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 17.05.2014, 09:36
Titel:
|
|
Hallo,
du kannst das vor der Simulation als Gleichung auffassen, die für verschiedene Kombinationen von Drehzahl und Füllgrad zu lösen ist, und dir daraus dann einen neuen Lookup-Table konstruieren.
Grüße,
Harald
|
|
|
neuling vergas passwort |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 17.05.2014, 14:35
Titel:
|
|
|
|
|
Ich weis nicht ob ich deinen Vorschlag richtig verstanden habe, aber ich denke meine Lösung geht in die selbe Richtung.
Ich habe mittlerweile aus der alten Tabelle eine neue Tabelle erstellt, bei der die X-Achse nicht mehr aus Werten für TV-Angle, sondern aus Werten für RF besteht. Im bereich zwischen den Achsen stehen nun immer die entsprechenden TV-Angle Werte.
Ich habe nur gehofft, dass es bei Simulink/Matlab eine automatische Lösung dafür gibt. Da er sich z.B. bei einer bestimmten Drehzahl bereits eine Kurve erstellen (mit Interpolation der Zwischenwerte) kann, welche das Verhältnis zwischen TV-Angle und RF aufzeigt, dachte ich dass Simulink bei gegebenem TV-Angle den RF Wert ausgeben könnte. Aber genauso müsste er doch auch andersherum bei gegebenm RF-Wert einen TV-Angle ausspucken können, ohne dass ich die gesamte Tabelle neu berechnen und umstellen muss.
Oder ich mach einfach mal ein simples Beispiel.
Ich habe einen Lookuptable mit den Eingängen A und B und dem Ausgang C. Für diesen Lookuptable benutze ich eine Exceltabelle mit der X-Achse für die Werte die in Eingang A gesendet werden. In der Y-Achse stehen sämtliche Werte für den Eingang B und der Datenbereich rechts und unterhalb der Achsen entspricht der Werte die bei Ausgang C ausgegeben werden.
Für die Variablen werden nur folgende Beispielwerte angenommen:
A=10
B=30
=>C=2
Ich hätte gerne einen zweiten Lookuptable, bei dem ich A und C als Eingänge nutze und auf B komme:
A=10
C=2
=>B=30
Könnte ich hierfür einfach die ursprüngliche Exceltabelle verwenden und müsste in den Blockparametern des Lookuptables einfach nur eine Einstellung verändern, oder komme ich um eine neue Exceltabelle nicht herum?
Falls ich eine neue Exceltabelle erstellen müsste, gibt es dafür eine automatisierte Version oder muss das händisch gemacht werden?
Ich konnte zwar bei meiner Version teilweise Schritte automatisieren, habe aber leider bei meinen Berechnungen leichte Ungenauigkeiten weil ich teilweise Zahlen runden musste.
Beschreibung: |
|
Download |
Dateiname: |
Lösung.JPG |
Dateigröße: |
91.08 KB |
Heruntergeladen: |
458 mal |
Beschreibung: |
|
Download |
Dateiname: |
Ausgangsdaten.PNG |
Dateigröße: |
201.93 KB |
Heruntergeladen: |
423 mal |
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.492
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 17.05.2014, 15:35
Titel:
|
|
Hallo,
Zitat: |
Ich weis nicht ob ich deinen Vorschlag richtig verstanden habe, |
Wenn du Fragen dazu hast, gerne.
In deiner Lösung kommst du, wenn ich das richtig verstehe, auf TV-Angles von deutlich über 20, obwohl in deinen Ausgangsdaten nur TV-Angles bis 16 vorkommen? Das würde mich verwundern.
Meines Erachtens geht das nicht voll automatisiert, sondern höchstens über den von mir vorgeschlagenen Ansatz.
Grüße,
Harald
|
|
|
neuling vergas passwort |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 17.05.2014, 15:36
Titel:
|
|
hier hätt ich mal die genaue vorgehensweise für meine Lösung als Bild angehängt.
Die xls. dazu gäbs hier:
TV-Angle-vs.-RF-Stand-16.5.14.xlsx
Beschreibung: |
|
Download |
Dateiname: |
Vorgehensweise.jpg |
Dateigröße: |
1.25 MB |
Heruntergeladen: |
598 mal |
|
|
|
|
|
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.
|
|