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

Struktur vom Bus im Simulink Model mit Matlab auslesen

 

n3ssaja
Forum-Anfänger

Forum-Anfänger


Beiträge: 10
Anmeldedatum: 12.04.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 14.08.2012, 13:31     Titel: Struktur vom Bus im Simulink Model mit Matlab auslesen
  Antworten mit Zitat      
Hallo zusammen,

ich habe ein Problem, an dem ich gerade verzweifel. Das Problem ist folgendes:

In einem Simulink Modell habe ich einen Bus, der verschiedene Signalnamen über mehrere Ebenen bündelt.

Die Bus Struktur möchte ich jetzt mit einem Matlab Skript auslesen und die Ergebnisse in einer "struct" Variablen im Workspace speichern.

Für eine Bus Struktur mit 3 Ebenen habe ich es gelöst. Zum Verständis: Der Bus liegt im Model "Test" in einem Subsystem an einem Inport Block an.

Code:

mdl = 'Test/Subsystem/';
ph = get_param([mdl 'In1'], 'PortHandles');
sh = get_param(ph.Outport, 'SignalHierarchy');

for i = 1:size(sh.Children,1)
   
   A{i} = sh.Children(i,1).SignalName;  %Names Level 1  
   tmp.(A{i}) = [];
   
   for j = 1:size(sh.Children(i,1).Children,1)
                 
         help1 = sh.Children(i,1).Children(j,1).SignalName;
         tmp.(A{i}).(help1) = [];
 
         for k = 1:size(sh.Children(i).Children(j).Children,1)

           help2 = sh.Children(i).Children(j).Children(k).SignalName;
           tmp.(A{i}).(help1).(upper(help2)) = [];
           
         end    
   end      
end

struct_out = temp;
 


Mein Problem ist jetzt wie löse ich das für einen Bus mit variablen Ebenen. Sprich was mache ich wenn statt wie in meinem Beispiel n statt 3 Ebenen vorliegen? Es müsste über irgendwie über Rekursion laufen aber ich finde nicht den passenden Ansatz.

Brauche Eure Hilfe wirklich dringend. Schonmal Danke vorab.
Private Nachricht senden Benutzer-Profile anzeigen


n3ssaja
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 10
Anmeldedatum: 12.04.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 23.08.2012, 17:22     Titel:
  Antworten mit Zitat      
Hat niemand eine Idee oder hat schon einmal das gleiche Problem gehabt??
Private Nachricht senden Benutzer-Profile anzeigen
 
greater
Forum-Anfänger

Forum-Anfänger


Beiträge: 22
Anmeldedatum: 08.08.14
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 21.08.2014, 08:11     Titel:
  Antworten mit Zitat      
Hallo ich würd emich auch für eine Lösung interessieren.

Vielleicht hat der Themenstarter ja eine Lösung gefunden? Das Problem scheint ja auch schon ein wenig her zu sein...

Grüße Greater
Private Nachricht senden Benutzer-Profile anzeigen
 
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 - 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.