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

SimulinkModell Starten via Gui

 

Lokdog
Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 96
Anmeldedatum: 07.04.16
Wohnort: Heilbronn
Version: ---
     Beitrag Verfasst am: 22.04.2016, 09:21     Titel: SimulinkModell Starten via Gui
  Antworten mit Zitat      
Hi,

Ich habe eine Gui geschrieben, mit der ich Werte einlese.
Nun möchte ich wenn ich den Butto meines Guis drücke, ein Simulinkmodell mit:" Solver ode3, fixedsteps 0.1 und einer simulationszeit von 30 Sekunden" haben.

Wie ist denn der Code dafür?

Mit:
Code:
   mdl ='ErsterVersuchBremsweg.mdl';
    load_system(mdl)
     
    simulation_opt=simset('Solver','ode3','FixedStep','0.1','TimeOut','100');

funktioniert nicht.

Danke für eure Hilfe
Private Nachricht senden Benutzer-Profile anzeigen


Harald
Forum-Meister

Forum-Meister


Beiträge: 24.495
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 22.04.2016, 09:39     Titel:
  Antworten mit Zitat      
Hallo,

was funktioniert daran nicht?
Du musst simulation_opt dann schon an sim übergeben.

Wenn du die Einstellungen im Modell ändern willst, solltest du stattdessen set_param nutzen.

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
Lokdog
Themenstarter

Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 96
Anmeldedatum: 07.04.16
Wohnort: Heilbronn
Version: ---
     Beitrag Verfasst am: 22.04.2016, 10:09     Titel:
  Antworten mit Zitat      
Kannst du das etwas genauer erklären?
Wie übergeb ich die Simulation_opt an sim?

Und dann meinst du einfach noch eine weiter Zeile mit
Code:
set_param(mdl,'Solver','ode3','FixedStep','0.1','TimeOut','100');
einfügen?

Gruß
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.495
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 22.04.2016, 10:12     Titel:
  Antworten mit Zitat      
Hallo,

schau doch mal in die Doku zu sim . Da sind ja recht ausführliche Beispiele.

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
Lokdog
Themenstarter

Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 96
Anmeldedatum: 07.04.16
Wohnort: Heilbronn
Version: ---
     Beitrag Verfasst am: 22.04.2016, 10:37     Titel:
  Antworten mit Zitat      
Das habe ich selbstverständlich gemacht, jedoch kommt bei mir nach eingabe von:

Code:
simOut = sim('ErsterVersuchBremsweg.mdl','Solver','ode3','FixedStep','0.1','TimeOut','100');


Die Fehlermeldung:
Code:
Error using Bremsvorgangfig>rechnen_Callback (line 174)
'TimeOut' option must be a real scalar greater than 0

Error in gui_mainfcn (line 96)
        feval(varargin{:});

Error in Bremsvorgangfig (line 42)
    gui_mainfcn(gui_State, varargin{:});

Error in
@(hObject,eventdata)Bremsvorgangfig('rechnen_Callback',hObject,eventdata,guidata(hObject))

 
Error while evaluating uicontrol Callback

>>
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.495
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 22.04.2016, 11:04     Titel:
  Antworten mit Zitat      
Hallo,

Die Fehlermeldung besagt doch klar, was das Problem ist. TimeOut muss ein numerischer Wert sein.
Code:
simOut = sim('ErsterVersuchBremsweg.mdl','Solver','ode3','FixedStep','0.1','TimeOut',100);


Bitte immer von Anfang an posten, was du versucht hast. Das kann man ja nicht erahnen.

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
Lokdog
Themenstarter

Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 96
Anmeldedatum: 07.04.16
Wohnort: Heilbronn
Version: ---
     Beitrag Verfasst am: 22.04.2016, 12:26     Titel:
  Antworten mit Zitat      
Ah Perfekt, scheint wohl zu funktionieren.
Jetzt habe ich aber noch ein Problem, nämlich fehlen mir noch meine ganzen Variablen in meinem Workspace. Diese schreibt es rein wenn ich die Simulation Manuel starte, aber nicht, wenn ich sie über mein Gui starte? Gibt es da auch noch ein Befehl?
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.495
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 22.04.2016, 12:47     Titel:
  Antworten mit Zitat      
Hallo,

setze mal einen Haltepunkt in den Callback.
Dort sollte simOut stehen, und simOut enthält die Ausgänge.

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
Lokdog
Themenstarter

Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 96
Anmeldedatum: 07.04.16
Wohnort: Heilbronn
Version: ---
     Beitrag Verfasst am: 25.04.2016, 08:14     Titel:
  Antworten mit Zitat      
Hat wunderbar funktioniert.

Ein weiteres Problem momentan ist noch die Variable "tout".
Dies ist ja die Default Variable von TimeSaveName. dadurch dass ich nun mit 0.01s solve, wird die Variable "t", die direkt aus meiner "clock" kommt auch mal "3456x1" groß.
Das Problem nun ist, ich rechne mit "tout" weiter, diese nimmt aber maximal eine Dimension von "1000x1" an, wie kann ich dieses erhöhen?
Dafür müsste es doch sicher einen Befehl geben.

Dankeschön.
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.495
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 25.04.2016, 09:06     Titel:
  Antworten mit Zitat      
Hallo,

in Simulation --> Configuration Parameters kann im Data Import/Export- Teil die Anzahl der Datenpunkte eingestellt werden. Die entsprechenden Parameter sind LimitDataPoints und MaxDataPoints.

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