|
|
Variable aus Simulink in m. file laden |
|
sergej1987 |
Forum-Anfänger
|
|
Beiträge: 20
|
|
|
|
Anmeldedatum: 27.07.11
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 27.07.2011, 17:42
Titel: Variable aus Simulink in m. file laden
|
|
Hallo ich habe ein kleines Problem.
ICh habe ein Subsystem indem ich etwas ausrechne und das Ergebnis würde ich gerne mittels einer Variable in mein m.file laden. Wie mache ich das?
Problem ist das diese Variable die ich in mein m.file laden will ich auch in Formeln benutzen will die in meinem m.file vorkommen.
Nochmals ein Beispiel
Im m.file steht z.b.
a= 5*c
y=a+PI*0.5
c soll in simulink ausgerechnet werden weil es kompliziert und variabel ist und dann zurückgegeben werden damit a im m.file ausgerechnet werden kann und im m.file für weitere Funktionen verwenden werden kann.
Danke im Voraus
Beste grüße
|
|
|
|
|
DSP |
Forum-Meister
|
|
Beiträge: 2.117
|
|
|
|
Anmeldedatum: 28.02.11
|
|
|
|
Wohnort: ---
|
|
|
|
Version: R2014b
|
|
|
|
|
|
Verfasst am: 27.07.2011, 17:49
Titel:
|
|
d.h. die Variable c wird erst nach dem Ende der Simulation in dem m-file benötigt?
Dann nutze doch den Block "simout to workspace" unter "sinks" und nenne den Variablen Name des Blocks c. Somit ist c auch in dem m-file bekannt.
|
|
|
sergej1987 |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 20
|
|
|
|
Anmeldedatum: 27.07.11
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 27.07.2011, 17:55
Titel:
|
|
Ne leider nicht erst am Ende sondern auch zwischendurch... weil die Simulation die Werte immer iterativ berechnet.
|
|
|
DSP |
Forum-Meister
|
|
Beiträge: 2.117
|
|
|
|
Anmeldedatum: 28.02.11
|
|
|
|
Wohnort: ---
|
|
|
|
Version: R2014b
|
|
|
|
|
|
Verfasst am: 27.07.2011, 18:01
Titel:
|
|
Das verstehe ich nicht
Du schreibst, dass c in Simulink berechnet wird und anschließend zurückgegeben werden soll. Wie soll sich denn c während der Simulation ändern, wenn es grad berechnet wird?
Edit: hab das Wörtchen iterativ überlesen...du willst also alle Werte von c während der Iteration.
Schau mal nach...
Du wirst die Simulation dann wohl immer anhalten müssen, den Parameter holen und die Simulation dann weiterlaufen lassen. Also ein Schrittbetrieb. Es kann aber auch sein, dass der Parameter immer erst am Ende der Simulation neu gesetzt wird. Dann wird es wohl nur über eine
Zuletzt bearbeitet von DSP am 27.07.2011, 18:16, insgesamt 2-mal bearbeitet
|
|
|
sergej1987 |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 20
|
|
|
|
Anmeldedatum: 27.07.11
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 27.07.2011, 18:10
Titel:
|
|
Also nochmals diesmal mit genauen Angaben:
Im m file steht:
epsilon_max=0,045*epsi
A_v=PI*(1*epsilon)
epsi wird in einem Subsystem berechnet und soll dann im m. file gespeichert oder geladen werden damit epsilon berechnet werden kann. Habe es mit simout to wokspace versucht und in den Block dann epsilon_prozent geschrieben. Wenn ich das m.file in matlab lade kommt ein Fehler :
??? Undefined function or method 'mtimes' for input arguments of type 'struct'.
Error in ==> Eingabedaten_FGLSim_Generation3_optimal_sergej at 21
epsilon_max=0.045*epsi;
Error in ==> run at 57
evalin('caller', [s ';']);
Hoffe du kannst mir helfen =)
|
|
|
sergej1987 |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 20
|
|
|
|
Anmeldedatum: 27.07.11
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 27.07.2011, 18:12
Titel:
|
|
ich mein natürlich epsi und nicht epsilon_max in den Blcok geschrieben
|
|
|
DSP |
Forum-Meister
|
|
Beiträge: 2.117
|
|
|
|
Anmeldedatum: 28.02.11
|
|
|
|
Wohnort: ---
|
|
|
|
Version: R2014b
|
|
|
|
|
|
Verfasst am: 27.07.2011, 18:20
Titel:
|
|
Wenn epsi die Variable aus Simulink ist und im m-file auch epsi heißt, da sie dort verwendet wird, muss der Block Name auch epsi heißen (doppelklick auf den Block und dann unter Var.- name). Außerdem musst du unter Save format dann statt "structure", "array" auswählen.
|
|
|
sergej1987 |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 20
|
|
|
|
Anmeldedatum: 27.07.11
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 27.07.2011, 18:27
Titel:
|
|
gemacht, trotzdem nun folgender Fehler:
??? Undefined function or variable 'epsi'.
Error in ==> Eingabedaten_FGLSim_Generation3_optimal_sergej at 21
epsilon_max=0.045*epsi;
Error in ==> run at 57
evalin('caller', [s ';']);
hmmm ???
|
|
|
sergej1987 |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 20
|
|
|
|
Anmeldedatum: 27.07.11
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 27.07.2011, 18:29
Titel:
|
|
gemacht, trotzdem nun folgender Fehler:
??? Undefined function or variable 'epsi'.
Error in ==> Eingabedaten_FGLSim_Generation3_optimal_sergej at 21
epsilon_max=0.045*epsi;
Error in ==> run at 57
evalin('caller', [s ';']);
hmmm ???
|
|
|
DSP |
Forum-Meister
|
|
Beiträge: 2.117
|
|
|
|
Anmeldedatum: 28.02.11
|
|
|
|
Wohnort: ---
|
|
|
|
Version: R2014b
|
|
|
|
|
|
Verfasst am: 27.07.2011, 18:35
Titel:
|
|
Was ist denn epsi nach der Berechnung in Simulink im Workspace...ein einzelner Wert oder ein Vektor?
|
|
|
sergej1987 |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 20
|
|
|
|
Anmeldedatum: 27.07.11
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 27.07.2011, 18:39
Titel:
|
|
ein wert der aber auch immer gleich bleibt. er ist zwischen 0 und 1 und steht für eine Prozentzahl.
|
|
|
DSP |
Forum-Meister
|
|
Beiträge: 2.117
|
|
|
|
Anmeldedatum: 28.02.11
|
|
|
|
Wohnort: ---
|
|
|
|
Version: R2014b
|
|
|
|
|
|
Verfasst am: 27.07.2011, 18:46
Titel:
|
|
Du hast ja aber 2 Fehler...beim 1. kennt er die Variable epsi nicht. Existiert sie denn im Worspace nach dem Ende der Simulation in Simulink?
Mit dem 2. Fehler kann ich nichts anfangen.
Edit: Damit die Fehlersuche einfacher wird, häng doch mal bitte dein mdl- und dein m-file hier an.
|
|
|
sergej1987 |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 20
|
|
|
|
Anmeldedatum: 27.07.11
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 27.07.2011, 19:21
Titel:
|
|
Also anbei die 2 Dateien. Habe das vereinfacht, damit man genau sieht wo das Problem liegt und weil es einer geheimhaltungserklärung unterliegt.
Vielen Dank für deine/eure Hilfe.
Beste Grüße
Beschreibung: |
|
Download |
Dateiname: |
Untitled2.m |
Dateigröße: |
366 Bytes |
Heruntergeladen: |
455 mal |
Beschreibung: |
|
Download |
Dateiname: |
untitled.mdl |
Dateigröße: |
46.4 KB |
Heruntergeladen: |
441 mal |
|
|
|
DSP |
Forum-Meister
|
|
Beiträge: 2.117
|
|
|
|
Anmeldedatum: 28.02.11
|
|
|
|
Wohnort: ---
|
|
|
|
Version: R2014b
|
|
|
|
|
|
Verfasst am: 27.07.2011, 20:15
Titel:
|
|
Das mdl-file leider nicht ausführen...erhalte folgende Fehlermeldung im Lookup Table:
Zitat: |
??? Error using ==> sim
Invalid setting in block 'sergej2/Subsystem Lebensdauer/Enabled Subsystem/Lookup Table' for parameter 'OutputValues'.
|
Es kann evtl auch mit meiner Matlab Version zusammenhängen. Ich habe auch ethliche Warnings beim Öffnen der mdl, da ich eine alter Version habe.
Edit: Simout - epsi war aber immer noch auf structure with time gestellt
|
|
|
sergej1987 |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 20
|
|
|
|
Anmeldedatum: 27.07.11
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 27.07.2011, 20:22
Titel:
|
|
komisch ich kanns ganz normal öffnen liegt es vlt an der matlab version?
habe 2010ra aber hier anbei 2 screenshots vlt helfen die über die übersicht weiter!
Danke nochmal
Beschreibung: |
|
Download |
Dateiname: |
Unbenannt2.png |
Dateigröße: |
114.37 KB |
Heruntergeladen: |
703 mal |
Beschreibung: |
|
Download |
Dateiname: |
Unbenannt.png |
Dateigröße: |
161.28 KB |
Heruntergeladen: |
738 mal |
|
|
|
|
Gehe zu Seite 1, 2 Weiter
|
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.
|
|