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

Lösen von verschiedenen ODEs mit Parameter aus GUI

 

jochen2nd
Forum-Newbie

Forum-Newbie


Beiträge: 4
Anmeldedatum: 23.08.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 23.08.2009, 22:37     Titel: Lösen von verschiedenen ODEs mit Parameter aus GUI
  Antworten mit Zitat      
Hallo zusammen,

ich aber erst seit ein paar Wochen mit MATLAB. In dieser Zeit habe ich es mit Hilfe von mehreren Beispielen geschafft, mehrere komplexe Stoßmodelle zu lösen.

Um diese Modelle komfortabler vergleichen zu können würde sich sie gerne über eine GUI aufrufen um nicht immer einzeln die Parameter eingeben zu müsse.

Die ich hierzu allerdings kaum Beispiel finde und im Moment nicht weiter komme, stelle ich Euch ein Teil meiner Modell zur Verfügung in der Hoffung einer von Euch kann mir weiterhelfen.

Stoßmodelle.rar
 Beschreibung:

Download
 Dateiname:  Stoßmodelle.rar
 Dateigröße:  17.43 KB
 Heruntergeladen:  475 mal
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.08.2009, 19:01     Titel:
  Antworten mit Zitat      
Hallo Jochen,

gibt es denn konkrete Fragen?

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

Forum-Newbie

Forum-Newbie


Beiträge: 4
Anmeldedatum: 23.08.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 25.08.2009, 23:08     Titel:
  Antworten mit Zitat      
Hallo Harald,

ich habe mich heute auch nochmal mit der Lösung des Problems beschäftigt, dabei habe ich ein paar unnötige Zeilen aus meinem m-File geschmissen.

Desweiteren versuche ich nicht mehr die einzelnen Variablen mit dem Befehl "assignin" zu übergeben, sondern verwende nun den Vektor mit den Initialisierungsbedingungen der ODE-Funktion.

Meinem Verständnis nach sollte dies funktionieren, wenn nicht schon zuvor folgende Fehlermeldung kommen würde:

??? Reference to non-existent field 'FKP'.

Error in ==> gui_freifall>button_aktualisieren_Callback at 119
FKP = handles.FKP;

Dabei habe ich die Variable bereits an die GUI Data übergeben
Code:
   FKP = 0;
    handles.FKP = FKP;
 


Nach der Zuweisung weiterer Variablen habe ich auch den Befehl
Code:
% Update handles structure
    guidata(hObject, handles);

nicht vergessen.

Darum die konkrete Frage, was muss ich ändern damit diese Variable existiert?

Gruß
Jochen

Stoßmodelle Stand 25.08.2009.rar
 Beschreibung:

Download
 Dateiname:  Stoßmodelle Stand 25.08.2009.rar
 Dateigröße:  17.93 KB
 Heruntergeladen:  486 mal
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: 26.08.2009, 13:15     Titel:
  Antworten mit Zitat      
Hallo Jochen,

Das sieht an sich gut aus. Ich kann mir höchstens vorstellen, dass dieser Code
Code:
FKP = 0;
handles.FKP = FKP;

aus welchen Gründen auch immer nicht vor dem anderen ausgeführt wurde. Vorschlag: Haltepunkte vor diese beiden Codeteile setzen, um das zu überprüfen.

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

Forum-Newbie

Forum-Newbie


Beiträge: 4
Anmeldedatum: 23.08.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 26.08.2009, 23:25     Titel:
  Antworten mit Zitat      
Hallo Harald,

da könnte etwas dran sein. Zwar finde ich in der Reihenfolge der Ausführung keinen Fehler, jedoch wenn ich den Feldern durch die angedachten Callbacks der Edit-Felder einen Wert zuweise komme ich in meinem Programmcode etwas weiter.

Ich werde es mir morgen nochmal in Ruhe anschauen und mich dann erneut melden.

Ich DANKE dir für deine Hilfestellung.

Gruß Jochen
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: 27.08.2009, 08:43     Titel:
  Antworten mit Zitat      
Ein Hinweis noch:
Initialisierungen sollten in der Opening Function des GUI vorgenommen werden. Dann sollte es nicht zu Problemen wie diesem kommen können.

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

Forum-Newbie

Forum-Newbie


Beiträge: 4
Anmeldedatum: 23.08.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 27.08.2009, 19:32     Titel:
  Antworten mit Zitat      
Hallo Harald,

mit deinem Hinweis liegst du richtig. Ich habe mich bei der Initialisierung an dem GUI-Beispiel "GUI with Uicontrols" orientiert, da ich es eleganter empfinde. Auch wenn ich noch nicht jede Programmzeile verstanden habe, weis ich inzwischen, dass ich meine handle-Struktur vor meinem Initalisierungaufruf updaten muß.

Ich vermute mit der Zeile " Choose default command line output for gui_freifall" wird die handel-Struktur erstellt.

Code:
% Choose default command line output for gui_freifall
handles.output = hObject;

% Update handles structure
guidata(hObject, handles);

initialize_gui(hObject, handles);


Auch der Aufruf und die Übergabe an die ODE mußte ein wenig verändert werden.

Jedoch habe ich nun eine neue Schwierigkeit:

??? Error using ==> plot
Vectors must be the same lengths.

Error in ==> gui_freifall>output at 586
plot(t,FKP(Smile,'b-')

Also für Hinweise bin ich immer dankbar. Allerdings bin ich nun wenigstens mal wieder einen Schritt weiter und und kann mich weiter versuchen.

Mit besten Grüßen
Jochen

Stoßmodelle Stand 27.08.2009.rar
 Beschreibung:

Download
 Dateiname:  Stoßmodelle Stand 27.08.2009.rar
 Dateigröße:  19.88 KB
 Heruntergeladen:  492 mal
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.