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

wie variable von workspace in sumlink einbinden?

 

Gigo
Forum-Newbie

Forum-Newbie


Beiträge: 4
Anmeldedatum: 09.01.08
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 09.01.2008, 16:58     Titel: wie variable von workspace in sumlink einbinden?
  Antworten mit Zitat      
Hallo zusammen

Folgendes Problem: Ich verändere während meiner Simulation per S-Function und der Methode 'evalin' Variablenwerte (double-Zahl bzw. Array aus doubles) im Workspace. Jetzt möchte ich an anderer Stelle (möglichst über Funktionsblock) wieder an diese geänderte Variable ran.

Der normale Const-Block holt mir die Variable ja schätzungsweise nur zum Initialisierungszeitpunkt ran. Ich vermute, dass ich 'From Workspace' nutzen muss?! Damit komme ich aber nicht wirklich klar. Verstehe nicht, weshalb ich die Variable aus dem Workspace als Matrix behandeln muss bzw. wie ich einfach nur an den momentan aktuellen Wert (double) der Variable rankomme.

Hoffe, ihr könnt mir vom Schlauch helfen bzw. mein Verständnisproblem klären.

Merci und Gruß
Christoph
Private Nachricht senden Benutzer-Profile anzeigen


jack
Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 71
Anmeldedatum: 28.12.07
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 09.01.2008, 17:08     Titel:
  Antworten mit Zitat      
bei jeden start der simulink-simulation werden die variablen der constant-blöcke aus dem matlab-workspace geladen...
Private Nachricht senden Benutzer-Profile anzeigen
 
Gigo
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 4
Anmeldedatum: 09.01.08
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 09.01.2008, 17:18     Titel:
  Antworten mit Zitat      
jack hat Folgendes geschrieben:
bei jeden start der simulink-simulation werden die variablen der constant-blöcke aus dem matlab-workspace geladen...


Ich bräuchte die Aktualisierung aber zu jedem Simulationszeitschritt. Das hast du ja nicht gemeint, nehme ich an!?
Private Nachricht senden Benutzer-Profile anzeigen
 
jack
Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 71
Anmeldedatum: 28.12.07
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 10.01.2008, 09:31     Titel:
  Antworten mit Zitat      
gute frage... hast es ausprobiert???
du änderst also zur simulink-simulationslaufzeit variabeln im workspace auf die dein simulink-modell zugreift???
Private Nachricht senden Benutzer-Profile anzeigen
 
Lord nibbler

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 10.01.2008, 11:01     Titel:
  Antworten mit Zitat      
Ich hoffe das hilft weiter

http://www.gomatlab.de/parameterver.....ung-in-simulink-t230.html

Gruß Lord nibbler
 
jack
Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 71
Anmeldedatum: 28.12.07
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 13.01.2008, 12:37     Titel:
  Antworten mit Zitat      
läuft???
Private Nachricht senden Benutzer-Profile anzeigen
 
Gigo
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 4
Anmeldedatum: 09.01.08
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 13.01.2008, 18:07     Titel:
  Antworten mit Zitat      
Danke Lord nibbler! Konnte es noch nicht ausprobieren - erst nächste Woche, wenn ich wieder am Institut bin. Klingt aber schon mal vielversprechend Smile

Vorläufig habe ich das Problem mit S-Functions gelöst. Ist halt mit viel Aufwand verbunden, aber funktioniert soweit mal ganz gut...
Private Nachricht senden Benutzer-Profile anzeigen
 
Gigo
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 4
Anmeldedatum: 09.01.08
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 16.01.2008, 10:47     Titel:
  Antworten mit Zitat      
Habe jetzt mal eine Variante gemäß Lord nibbler's Vorschlag ausprobiert und mit set_param den Wert des Gain-Blocks überschrieben. Ist aber kompliziert, da alles recht dynamisch ist und ich zig Strings erzeugen muss. Deshalb lief's wohl auch nicht wirklich schnell. Bin deshalb bei der Variante mit S-Functions geblieben. Also Gain-Block durch S-Function ersetzt und dort mit evalin auf Variablen des Workspace zugegriffen. Hier ein Stück aus dem Code:

Code:

  % Variablenwert aus Workspace holen
  v = evalin('base', 'v;');
 
  % Mit Eingangswert multiplizieren
  sys = v * u(1);
 


greetz
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 - 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.