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

über Push-Button Simulation starten

 

Hans

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 08.04.2008, 15:43     Titel: über Push-Button Simulation starten
  Antworten mit Zitat      
Hi leute,

ich habe folgendes Problem.
Und zwar möchte ich in meiner GUI über einen push-button die Simulation einer Simulinkdatei starten. Prinzipiel funktioniert das Ganze schon, nur muss ich den Befehl in ein extra M-File schreiben und dieses dann aufrufen.

Hier noch der relevante Code im GUI M-file:

Code:
evalin('base','sim_start')  


und hier der in "sim_start.m":

Code:
options = simset('DstWorkspace','current');
stoptime = evalin('base','sim_erg.t_stop');  
sim('simulation',[0 stoptime],options);


Ich würde das Ganze gerne nur in der Callbackfunktion des Push-Buttons einbinden und nicht wie jetzt eine zusätzliche Datei verwenden. Hat hierzu jemand eine Lösung?

Mit freundlichen Grüßen
Hans


mojojo
Forum-Anfänger

Forum-Anfänger


Beiträge: 13
Anmeldedatum: 25.03.08
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 11.04.2008, 11:40     Titel:
  Antworten mit Zitat      
Hallo Hans,

versuchs mal mit
Code:

options = simset('DstWorkspace','current');
stoptime = evalin('base','sim_erg.t_stop');
evalin('base',horzcat('sim(''simulation.mdl'',[0 ', stoptime,'],options)'));
 


Gruß
mojojo
_________________

Das Chaos beherrscht die Ordnung,
weil es besser organisiert ist.
Private Nachricht senden Benutzer-Profile anzeigen
 
Hans

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 14.04.2008, 08:46     Titel:
  Antworten mit Zitat      
Hi mojojo,

hab deinen code mal in mein Programm eingebunden, funktioniert aber leider nicht.
Hier die Fehlermeldung: ??? Error: The input character is not valid in MATLAB statements or expressions.

Hab dein Code noch etwas abgeädert, hatte aber trotzdem keinen Erfolg.
Ich denke das Matlab Probleme mit den vielen Hochkommas hat. Bei mir ist in meine Code alles ab sim bis zum Hochkomma nach der Null rosa. Hab auch versucht die Hochkommas anzupassen, hat aber auch nicht geklappt Sad


Viele Dank für die Hilfe, ich hoffe es kommen noch mehr Vorschläge.

Viele Grüße,
Hans
 
mojojo
Forum-Anfänger

Forum-Anfänger


Beiträge: 13
Anmeldedatum: 25.03.08
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 14.04.2008, 10:19     Titel:
  Antworten mit Zitat      
Hallo Hans,

das war zugegeben etwas aus der Hüfte geschossen Wink
Ein Fehler hab ich gefunden, also nächster Versuche:
Code:

evalin('base',...
    horzcat('sim(''simulation.mdl'',[0 ',...
    num2str(stoptime),'],options)'));
 

Die doppelten Hochkommata müssen sein, damit Matlab sie als Textzeichen und nicht als Ende des Wertes interpretiert.

gruß
mojojo
_________________

Das Chaos beherrscht die Ordnung,
weil es besser organisiert ist.
Private Nachricht senden Benutzer-Profile anzeigen
 
Hans

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 14.04.2008, 10:47     Titel:
  Antworten mit Zitat      
Hi mojojo,

danke für die schnelle Berichtigung, aber leider geht es damit immer noch nicht. Warst wohl wieder zu schnell Very Happy

Wie gesagt, das mit den Hochkommas kommt mir komisch vor, weil wieder ab sim bis zur Null und dann ist zusätzlich noch die Variable options rosa. Ich bin mir nicht sicher ob er dann das erkennt. Bin aber neu auf dem Gebiet der Matlab programmierung, kann mich somit auch täuschen Smile

Ich warte auf weitere Vorschläge

Viele Grüße,
Hans
 
Hans

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 14.04.2008, 10:57     Titel:
  Antworten mit Zitat      
Hier noch der Fehler Code:
??? Error using ==> evalin
Undefined function or variable 'options'.

hatte ich vergessen
 
mojojo
Forum-Anfänger

Forum-Anfänger


Beiträge: 13
Anmeldedatum: 25.03.08
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 14.04.2008, 11:00     Titel:
  Antworten mit Zitat      
Hallo Hans,

das Highlighting funktioniert unter Matlab eigentlich genau richtig. Was ich übersehen habe, ist das Evalin() den eigentlichen Befehl auch in Hochkommata haben möchte. Es waren also nicht zuviele sondern zuwenig davon.

Code:

stoptime = 1;
horzcat('''sim(''simulation.mdl'',[0 ',num2str(stoptime),'],options)''')
 

erzeugt bei mir jetzt
Code:

ans =

'sim('simulation.mdl',[0 1],options)'
 

UNd das müsste eigentlich sein, was du brauchst.[/code]
_________________

Das Chaos beherrscht die Ordnung,
weil es besser organisiert ist.
Private Nachricht senden Benutzer-Profile anzeigen
 
Hans

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 14.04.2008, 13:31     Titel: und nochmal
  Antworten mit Zitat      
hi mojojo,

die Ausgabe habe ich jetzt auch. Nur wird die Simulation dadurch nicht ausgeführt. Auch wenn ich mich jetzt vllt. blamiere, aber wie bekomme ich jetzt die Simulation dadurch zum Laufen.

Danke für die Hilfe

MfG
Hans
 
mojojo
Forum-Anfänger

Forum-Anfänger


Beiträge: 13
Anmeldedatum: 25.03.08
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 14.04.2008, 13:33     Titel:
  Antworten mit Zitat      
Du musst das ganze natürlich in deinen bisherigen Code, sprich den evalin() einbinden.
_________________

Das Chaos beherrscht die Ordnung,
weil es besser organisiert ist.
Private Nachricht senden Benutzer-Profile anzeigen
 
Hans

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 14.04.2008, 13:45     Titel:
  Antworten mit Zitat      
ok, das klingt logisch. Habe ich auch grad eben probiert, aber ohne Erfolg Sad

Das Ganze sollte doch dann so aus schauen:
Code:
evalin('base','horzcat('''sim(''simulation.mdl'',[0 ',num2str(stoptime),'],options)''')');


Fehler-Meldung:
??? Error: File: GUI_dynamisch.m Line: 357 Column: 27
Unexpected MATLAB expression

Viele Grüße,
Hans
 
mojojo
Forum-Anfänger

Forum-Anfänger


Beiträge: 13
Anmeldedatum: 25.03.08
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 14.04.2008, 13:50     Titel:
  Antworten mit Zitat      
Vor dem horzcat kein Hochkomma mehr, sonst interpretiert er das nicht als Befehl:
Code:

evalin('base',horzcat('''sim(''simulation.mdl'',[0 ',num2str(stoptime),'],options)'''));
 

Wink Viel Erfolg!
_________________

Das Chaos beherrscht die Ordnung,
weil es besser organisiert ist.
Private Nachricht senden Benutzer-Profile anzeigen
 
Hans

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 14.04.2008, 13:55     Titel:
  Antworten mit Zitat      
Hi,

also dann so:

Code:
evalin('base',horzcat('''sim(''simulation.mdl'',[0 ',num2str(stoptime),'],options)'''));


geht aber auch nicht. Ich glaube Matlab hat darauf keine Lust Very Happy

vg Hans
 
Mika

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 22.04.2008, 07:41     Titel:
  Antworten mit Zitat      
Hallo,

wollte mal nachfragen ob ihr eine lösung dafür finden konntet ?

Habe nämlich zZ genau das gleiche Problem.


MfG.
 
Hans

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 22.04.2008, 08:21     Titel:
  Antworten mit Zitat      
Hi Mika,

leider noch nicht. Hab zwar noch nen paar Sachen ausprobiert, komme aber nicht um die zusätzliche Datei herrum.

Viele Grüße,
Hans
 
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.