|
|
Wert aus einem Vektor in Simulink auslesen |
|
christian_2 |
Forum-Anfänger
|
|
Beiträge: 29
|
|
|
|
Anmeldedatum: 16.04.12
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 06.03.2014, 11:03
Titel: Wert aus einem Vektor in Simulink auslesen
|
|
|
|
|
Hallo,
ich möchte in Simulink aus einem Vektor, der im Workspace gespeichert ist, einen Wert auslesen, dessen Index ich in Simulink als Signal habe.
Beispiel:
Im Matlab-Workspace gibt es die Variable
In Simulink berechne ich nun den Index (dieser sei z. B. 2).
Nun denke ich mir, dass es in Simulink einen Block geben muss, der als Eingang den Index benötigt und mir als Ausgang den entsprechenden Wert eines in diesem Block definierten Vektors ausgibt (in diesem Beispiel also den Wert 5).
Das kann doch nicht sein, dass es so etwas nicht gibt, oder doch?
Ich benötige also so etwas wie eine Look-Up-Table, nur dass ich weiß, dass ich keine Zwischenwerte brauche.
Klar wäre mein Problem mit einer Look-Up-Table gelöst (bisher mache ich das ja so), aber ich denke mir, dass das sicher nicht die schnellste und einfachste Lösung ist.
Der 'Selector' wäre eine Alternative, allerdings finde ich ihn sehr umständlich, weil man einerseits den auszuwertenden Vektor an den Block übergeben muss (zwei Blöcke, statt einem, wie bei einer Look-Up-Table) und zweitens muss ich im Selector die Dimension des Vektors definieren, die bei mir erst zu Simulationsbeginn fest steht.
Wobei dieses Problem natürlich mit einem length (Vektor) gelöst werden könnte (ist aber umständlich).
Hat jemand eine Idee?
Vielen Dank schon mal im Voraus und viele Grüße
Christian
|
|
|
|
|
Andreas Goser |
Forum-Meister
|
|
Beiträge: 3.654
|
|
|
|
Anmeldedatum: 04.12.08
|
|
|
|
Wohnort: Ismaning
|
|
|
|
Version: 1.0
|
|
|
|
|
|
Verfasst am: 06.03.2014, 16:28
Titel:
|
|
Ich vermute, dass es das in Standard-Simulink nicht gibt, weil dieser Anwendungsfall in der normalen, zeitbasierten Simulation dynamischer Systeme nicht vorkommt.
Ich habe auch den "Selector" Block als Möglichkeit der Umsetzung identifiziert. Ist die Gesamtanwendung denn aus der Signalverarbeitung? Vielleicht gibt es eine ganz andere Umsetzung?
Andreas
|
|
|
christian_2 |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 29
|
|
|
|
Anmeldedatum: 16.04.12
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 06.03.2014, 16:44
Titel:
|
|
|
|
|
Hallo Andreas,
erst einmal Danke für Deine Antwort. Um gleich Deine Frage zu beantworten: Nein, das Modell ist ein Fahrzeugsimulationsmodell.
In meinem Beispielfall habe ich z.B. einen Gang berechnet und benötige im weiteren Verlauf die Getriebeübersetzung des neuen Ganges. Die Getriebeübersetzungen aller Gänge sind in einem Vektor gespeichert, der Gang entspricht dem Index. Dies wäre ein Anwendungsbeispiel, es gibt da noch eine ganze Reihe anderer.
Bisher habe ich bzw. wurde das immer mittels einer Look-Up-Table gelöst. Nachdem ich einen Teil des Modells verbessern/ändern möchte, will ich diese Modellteile optimal und 'sauber' aufbauen. Und nachdem die Simulationsgeschwindigkeit bei mir ein sehr wichtiges Thema ist, suche ich die schnellst/beste Lösung.
Ich bin mittlerweile auch der Meinung, dass es einen solchen Block, wie ich ihn mir wünsche, in Simulink gar nicht gibt, weil der 'Selektor' dem schon relativ nahe kommt.
Ehrlich gesagt, finde ich den Block wenig gelungen, ich hätte da einiges anders programmiert. Aber eventuell habe ich auch einfach nur andere/spezielle Anwendungen
Viele Grüße
|
|
|
Andreas Goser |
Forum-Meister
|
|
Beiträge: 3.654
|
|
|
|
Anmeldedatum: 04.12.08
|
|
|
|
Wohnort: Ismaning
|
|
|
|
Version: 1.0
|
|
|
|
|
|
Verfasst am: 06.03.2014, 17:04
Titel:
|
|
OK, das hilft. Ich denke die meisten Anwendungen dieser Art nutzen Zustandsautomaten. Bitte mal prüfen ob Stateflow da geeignet ist. Z.B. mal die Demo "sf_car" aufrufen.
Andreas
|
|
|
|
|
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.
|
|