|
|
Basics: Auslesen einer Matrix |
|
nubi |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 11.11.2010, 17:00
Titel: Basics: Auslesen einer Matrix
|
 |
|
 |
|
Hallo zusammen,
vornweg bitte ich um Entschuldigung, da diese Frage (wahrscheinlich) wirklich lächerlich einfach ist aber ich trotzdem auf keinen grünen Zweig komme.
Ich bin absoluter MatLab-Anfänger und habe auch sonst nur rudimentäre Programmiererfahrungen - ich hab mal vor 10 Jahren mit Turbopascal rumgespielt.
Die Situation ist folgende: Ich möchte ein Kennfeld digitalisieren, dass aus drei Elementen besteht:
- auf der x-Achse die Drehzahl
- auf der y-Achse der Mitteldruck
- im Schaubild Linien gleichen Verbrauchs
Die Daten liegen in einer Excel-Tabelle quasi als Matrix vor. Dabei ist die erste Zeile die Drehzahl, die erste Spalte der Druck und die übrigen Zellen haben den entsprechenden Verbrauch eingetragen.
Ziel ist es in Simulink eine Drehzahl und ein Mitteldruck vorzugeben und den zugehörigen Verbrauch rauszubekommen. Die Interpolation zwischen den Linien soll erstmal vernachlässigt werden. Ich verzweifel nämlich schon viel früher!
Ich hatte ein paar Ideen mit Look-Up Table und weis-nicht-was, aber ich habe gemerkt dass ich wohl einfach keine Ahnung hab was ich machen will.
Deswegen meine Frage, so banal sie sein mag: Wie stell ich das am besten an?
Ich hab schon einiges gesucht, hab auch einiges gefunden, aber den Grundbaustein zur Lösung kann ich nirgends finden.
Es wäre superoberaffengeil wenn mich jemand unterstützen könnte und darüber hinwegsehen kann dass ich absoluter Newbie bin!
Grüße,
Pete
|
|
|
|
|
Andreas Goser |

Forum-Meister
|
 |
Beiträge: 3.654
|
 |
|
 |
Anmeldedatum: 04.12.08
|
 |
|
 |
Wohnort: Ismaning
|
 |
|
 |
Version: 1.0
|
 |
|
|
 |
|
Verfasst am: 11.11.2010, 18:05
Titel:
|
 |
Es sind 2 bis 3 Arbeitsschritte.
1. Einlesen mit XLSREAD
2. Ggf. umformatieren so dass es für den LUT Block passt
3. Die Befehle aus 1. und 2. als Simulink Callback umsetzen
zu 1. Bitte selber mal experimentieren, sollte einfach sein.
zu 2. Da schlage ich vor eine ganz kleine Variante des LUT Blocks mit Zahlenwerten anzulegen, dann die Zahlenwerte in Variablen zu schreiben und dann die Variablennamen in den LUT Bock zu schreiben. Wenn das läuft ist es einfach zu verstehen welchen Variablen von Schritt 1 äquivalent sind.
zu 3. File -> Model Properties -> Callbacks -> PreLoadFcn
Andreas
|
|
|
nubi |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 11.11.2010, 18:20
Titel:
|
 |
Hallo, und danke für die erste Antwort.
Das Einlesen der "Stammdaten" hat bereits ohne Probleme funktioniert, ich habe also im Workspace unter einer Variablen A die entsprechende Matrix abgelegt.
Der zweite Schritt stellt mich schon vor Schwierigkeiten: Ich gehe davon aus dass ich eine n-d-LUT brauche die ich als 2d definier. Aber wie verknüpfe ich die LUT mit den Variablen aus meinem Workspace? Und wie kann ich der LUT sagen dass z.B. Zelle A(1,1) auf Drehzahl = 100 und Druck = 1 bar hören soll?
Pete
|
|
|
|
|
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 - 2025
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.
|
|