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

Simulink-Parameter von m-file aus ändern

 

Mattes_01
Forum-Anfänger

Forum-Anfänger


Beiträge: 32
Anmeldedatum: 20.09.08
Wohnort: Stuttgart
Version: R2007b
     Beitrag Verfasst am: 19.02.2009, 11:50     Titel: Simulink-Parameter von m-file aus ändern
  Antworten mit Zitat      
Hallo zusammen!

Ich wollte mal fragen, wenn ich zum Beispiel einen PI Regler in Simulink implementiert habe, diese Parameter aber gerne aus einem m-file vorgeben möchte, wie ich das mache.

Wenn ich einfach ein P im Simulink-Plan reinschreibe, dann aber im m-file P=...; mache übernimmt der das nicht, ebensowenig wenn ich P als global deklariere.

Ich würde mich über eine Antwort freuen.

VLG Mattes
Private Nachricht senden Benutzer-Profile anzeigen


Andreas Goser
Forum-Meister

Forum-Meister


Beiträge: 3.654
Anmeldedatum: 04.12.08
Wohnort: Ismaning
Version: 1.0
     Beitrag Verfasst am: 19.02.2009, 11:53     Titel:
  Antworten mit Zitat      
Die beschriebene Vorgehensweise sollte eigentlich funktionieren. Da fehlt ein Minimalbeispiel Smile

Ich persönlich empfehle aber mit SET_PARAM zu arbeiten.

Andreas
Private Nachricht senden Benutzer-Profile anzeigen E-Mail senden
 
Mattes_01
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 32
Anmeldedatum: 20.09.08
Wohnort: Stuttgart
Version: R2007b
     Beitrag Verfasst am: 19.02.2009, 11:56     Titel:
  Antworten mit Zitat      
OK hier das Beispiel:
Code:


global P;
t=0:0.001:20;
u=t^2;
P=0.1;
[t x y]=sim('model',20,[],u);
 


Das model ist einfach nur: ein input port verbunden mit einem gain verbunden mit einem output port.

in dem gain steht nur das P drin.


Fehler ist:
undefined function oder variable 'P'

Gruß und danke für schnelle antwort!
Private Nachricht senden Benutzer-Profile anzeigen
 
Andreas Goser
Forum-Meister

Forum-Meister


Beiträge: 3.654
Anmeldedatum: 04.12.08
Wohnort: Ismaning
Version: 1.0
     Beitrag Verfasst am: 19.02.2009, 12:05     Titel:
  Antworten mit Zitat      
Code:

??? Error using ==> mpower
Matrix must be square.
 


Smile

Ich packe den Punkt dazu und teste jetzt.
Private Nachricht senden Benutzer-Profile anzeigen E-Mail senden
 
Mattes_01
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 32
Anmeldedatum: 20.09.08
Wohnort: Stuttgart
Version: R2007b
     Beitrag Verfasst am: 19.02.2009, 12:17     Titel:
  Antworten mit Zitat      
und klappts (nicht)? ^^
Private Nachricht senden Benutzer-Profile anzeigen
 
Andreas Goser
Forum-Meister

Forum-Meister


Beiträge: 3.654
Anmeldedatum: 04.12.08
Wohnort: Ismaning
Version: 1.0
     Beitrag Verfasst am: 19.02.2009, 12:36     Titel:
  Antworten mit Zitat      
In der Tat hat nicht geklappt. Auch den SIM Befehl habe ich angepasst... Ich habe 2 Dateien mit meiner Empfehlung angehängt. Wenn das M-File ein Script ist geht der ursrüngliche Weg schon, aber in diesem Fall ist es wohl ene Function. Und Simulink guckt wohl nicht auf Variablen in MATLAB Funktionen wenn sie nicht im base workspace sind. Da hilft auch GLOBAL nix.

Andreas

model1.mdl
 Beschreibung:

Download
 Dateiname:  model1.mdl
 Dateigröße:  20.42 KB
 Heruntergeladen:  762 mal
test_forum18.m
 Beschreibung:

Download
 Dateiname:  test_forum18.m
 Dateigröße:  155 Bytes
 Heruntergeladen:  804 mal
Private Nachricht senden Benutzer-Profile anzeigen E-Mail senden
 
Mattes_01
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 32
Anmeldedatum: 20.09.08
Wohnort: Stuttgart
Version: R2007b
     Beitrag Verfasst am: 19.02.2009, 12:41     Titel:
  Antworten mit Zitat      
Ja du hast recht!

Erstmal vielen Dank!

Das Problem ist, dass das ganze als function deklariert wurde und daher die global dinger nicht ziehen.

Wenn cih die Zeile mir der function auskommentiere, dann tut alles wunderbar.

komische Geschickte, aber was solls, ich kann das file ja extern immernoch mit "run simulatio_PID" laufen lassen, also was solls


Liebe Grüße
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.