|
|
Selector - Vektor mittels Index auslesen (Variable Größe) |
|
JensBerlin |
Forum-Newbie
|
|
Beiträge: 6
|
|
|
|
Anmeldedatum: 25.11.19
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 30.11.2020, 16:05
Titel: Selector - Vektor mittels Index auslesen (Variable Größe)
|
|
Hallo zusammen,
ich möchte aus einem Vektor jeweils einen gewissen Bereich mittels Index (Beginn und Ende variabel) auslesen.
Anschaulich gibt es beispielsweise den Vektor:
Fall 1:
Fall 2:
Folglich sind also sowohl die Grenzen (Index oben bzw. unten) als auch die Länge des Ergebnis-Vektors variabel.
Bei meiner Recherche bin ich auf den Selector Block gestoßen, verstehe allerdings nicht, wie ich diesen Anwendungsfall umsetzen sollte. Der jeweilige Index soll als einstellbare Eingangsgröße realisisert werden.
Vielen Dank für jeden Tipp bzw. hilfreiches Beispiel!
|
|
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.495
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 30.11.2020, 21:34
Titel:
|
|
Hallo,
im Anhang ein Beispiel.
Ich muss aber zugeben, dass ich nicht weiß, ob es insgesamt so eine gute Idee ist, mit Signalen variabler Größe zu arbeiten. Damit das geht, das untere Signal ein Bus-Signal mit zwei Elementen (1. und letzter Index) sein. Zudem muss die Abtastrate diskret sein (im Block für (1:10)' eingetragen).
Grüße,
Harald
Beschreibung: |
|
Download |
Dateiname: |
Bsp.slx |
Dateigröße: |
22.71 KB |
Heruntergeladen: |
273 mal |
_________________
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 ;)
|
|
|
Gast |
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 01.12.2020, 09:56
Titel:
|
|
Hallo Harald,
vielen Dank für deine Antwort und das Beispiel.
Könntest du das Beispiel freundlicherweise abwärtskopatibel zu R2016 zur Verfügung stellen? Aktuell kann ich es leider nicht öffnen.
Gibt es alternativ eine deiner Meinung nach geeignetere Möglichkeit, um aus einem Vektor / einer Matrix einen Teilbereich auszulesen. Analog zu MATLAB beispielsweise
mit Beginn und Ende als Variablen? Mit einer MATLAB Function würde wieder ein variable-sized Signal resultieren.
Viele Grüße
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.495
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 01.12.2020, 10:20
Titel:
|
|
Hallo,
siehe Anhang.
Man kann es sicher auch mit einer MATLAB Function probieren. Wenn es nicht unbedingt sein muss, würde ich aber variable-sized Signals versuchen zu vermeiden.
Grüße,
Harald
Beschreibung: |
|
Download |
Dateiname: |
Bsp_R2016a.slx |
Dateigröße: |
13.92 KB |
Heruntergeladen: |
280 mal |
_________________
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 ;)
|
|
|
Gast |
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 01.12.2020, 12:53
Titel:
|
|
Danke Harald! Die Lösung über den Bus Creator ist so simpel, dass ich eigentlich selbst darauf hätte kommen können.
Ich werde versuchen, variable-sized Signals weitestgehend zu vermeiden. An einer Stelle können diese allerdings nicht vermieden werden, weshalb sich noch eine Rückfrage zum Index / Selector Block ergibt.
Wie lässt sich ein / lassen sich mehrere Werte eines variable-sized Signal anhand des Index auslesen? Meine bisherigen Versuche und die entsprechenden Fehlermeldungen habe ich als Bild beigefügt.
Beschreibung: |
Vorgehen und Fehlermeldungen |
|
Download |
Dateiname: |
Index_variable-sized_Signal.png |
Dateigröße: |
213.78 KB |
Heruntergeladen: |
237 mal |
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.495
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 01.12.2020, 13:03
Titel:
|
|
Hallo,
Zitat: |
Wie lässt sich ein / lassen sich mehrere Werte eines variable-sized Signal anhand des Index auslesen? |
war das nicht gerade die ursprüngliche Frage?
Ich weiß nicht, warum du hier einen Multiport Switch verwendest bzw. was du damit erreichen möchtest.
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.
|
|