WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Signaldimension erkennen und Subsystem dynamisch anpassen

 

Student_1234

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 26.10.2015, 09:02     Titel: Signaldimension erkennen und Subsystem dynamisch anpassen
  Antworten mit Zitat      
Hallo,

ich habe folgendes Problem. Ich habe ein SubSystem, in das ein Signal mit dynamischer Dimension führt. Das Signal kann ein einfacher double bis x-wertige Vector sein. Nun benötige ich für die dynamische Anpassung des Inhaltes des Subsystem die Signaldimension. Ich möchte also wissen, ob der Vector 5-elementig oder 10-elementig oder oder oder ist. Ich benötige diese Informationen, weil im SubSystem entsprechend der Dimension eine Anzahl paralleler Blöcker erstellt werden muss.

Die derzeitige Lösung sieht so aus, dass ich in der Maske des Subsystemes die Dimension von "Hand" eintragen muss. Dies ist leider fehleranfällig, da sich die Eingangsgröße ändern kann und somit auch die Dimension. Damit man schnell simulieren kann, ist es nötig, dass sich die Demension der Einganggröße des Subsystems bestimmen lässt.

Welche Möglichkeiten gibt es dafür?

Viele Grüße,
Student


Mmmartina
Forum-Meister

Forum-Meister


Beiträge: 745
Anmeldedatum: 30.10.12
Wohnort: hier
Version: R2020a
     Beitrag Verfasst am: 26.10.2015, 09:31     Titel:
  Antworten mit Zitat      
So ganz klar ist es nicht, wie du das meinst.
Erstellst du die Blöcke im Subsystem dynamisch, oder per Hand?

Woher kommt denn das n-dimensionale Signal? Extern eingelesen? Oder von einem anderen Block?
Kennst du get_param?
http://de.mathworks.com/help/simulink/slref/get_param.html
Evt. läßt sich da ein Wert finden, der dir die Signalbreite mitteilt?
_________________

LG
Martina

"Wenn wir bedenken, daß wir alle verrückt sind, ist das Leben erklärt." (Mark Twain))
Private Nachricht senden Benutzer-Profile anzeigen
 
Student_1234

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 26.10.2015, 10:32     Titel:
  Antworten mit Zitat      
Ich erstelle die Blöcke im Subsystem dynamisch anhand der Maskenparamter. Ein Parameter ist die Signaldimension. Dies wird benötigt, weil ich x parallele Blöcke dynamisch generieren lassen muss.

Das n-dimensionale Signal kommt von einem vorherigen Block. Dieser kann sich aber ändern bzw. die Signalbreite(Dimension) kann sich änderen. Ich möchte nun die Dimension automatisch finden, da es sonst zum Fehlerfall kommt, wenn der Parameter der Dimension in der Maske nicht korrekt eingestellt ist.

get_param ist bekannt. Leider habe ich bisher nichts zur Signalbreit finden können.

Viele Dank schonmal
 
Mmmartina
Forum-Meister

Forum-Meister


Beiträge: 745
Anmeldedatum: 30.10.12
Wohnort: hier
Version: R2020a
     Beitrag Verfasst am: 26.10.2015, 10:45     Titel:
  Antworten mit Zitat      
Probier mal, ob du mit dem Block "probe" weiterkommst.

Ansonsten: im vorhergehenden Subsystem läßt sich nicht irgendwo ein Parameter finden? Also z.B. Anzahl der Ausgänge aus dem Subsystem oder Busbreite, o.ä.?
_________________

LG
Martina

"Wenn wir bedenken, daß wir alle verrückt sind, ist das Leben erklärt." (Mark Twain))
Private Nachricht senden Benutzer-Profile anzeigen
 
Student_1234

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 26.10.2015, 10:56     Titel:
  Antworten mit Zitat      
der "probe"-Block sieht sehr interessant aus. Spiel damit gleich mal rum.

Ich möchte gern unabhängig vom vorherigen System sein, weil dieses unbestimmt sein kann.

Danke für den guten Hinweis. Very Happy
 
Student_1234

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 26.10.2015, 11:13     Titel:
  Antworten mit Zitat      
Also "probe" geht leider nicht Sad

Das Problem ist, dass ich die Signaldimension zur Compiletime benötige und nicht während der Simulation. Ich benötige quasi die Signalbreite bevor der Inhalt des Subsystems dynamisch generiert wird. Und dies ist mit diesem Block nicht möglich, da der erste Wert erst verfügbar ist nachdem das Subsystem kompileirt wurde.
 
Mmmartina
Forum-Meister

Forum-Meister


Beiträge: 745
Anmeldedatum: 30.10.12
Wohnort: hier
Version: R2020a
     Beitrag Verfasst am: 26.10.2015, 11:39     Titel:
  Antworten mit Zitat      
Dann bleibt eigentlich nur zu schauen, wo genau wird das Signal erzeugt - und da eben gucken, ob du einen Parameter findest, den du per get_param auswerten kannst.
_________________

LG
Martina

"Wenn wir bedenken, daß wir alle verrückt sind, ist das Leben erklärt." (Mark Twain))
Private Nachricht senden Benutzer-Profile anzeigen
 
Student_1234

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 26.10.2015, 13:47     Titel:
  Antworten mit Zitat      
Schade. Dann werde ich es wohl nicht gelöst bekommen. Dann muss der Parameter bestehen bleiben und immer angepasst werden. Sad

Trotzdem danke für deine Hilfe.
 
Student_1234

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 26.10.2015, 13:48     Titel:
  Antworten mit Zitat      
Kann zu gemacht werden.
 
Neues Thema eröffnen Neue Antwort erstellen



Einstellungen und Berechtigungen
Beiträge der letzten Zeit anzeigen:

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 | goMatlab RSS Button 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.