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

Hilfe zu GUI

 

TimoG

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 15.09.2008, 08:18     Titel: Hilfe zu GUI
  Antworten mit Zitat      
Hallo Matlabprofis,

in meinem jetzigen Matlabprogramm, habe ich eine GUI mit 3 Fenster.
Nun hab ich festgestellt das ich eine Formular nicht mehr benötige.
Jetzt weiss ich nicht wie ich die Programmzeilen für das eine Fenster nur in eine M-Datei packen soll. Ich greife mit handles auf die Variablen von dem ersten Fenster zu. Dies soll weiterhin bestehen.
Kann mir da jemand helfen?

LG


steve
Ehrenmitglied

Ehrenmitglied



Beiträge: 2.029
Anmeldedatum: 03.09.07
Wohnort: Wien
Version: R2024a
     Beitrag Verfasst am: 15.09.2008, 08:28     Titel:
  Antworten mit Zitat      
Moin,

klar kann man dir dabei helfen, allerdings nicht so pauschal.
Kurz zum Verständnis: Du hast im Moment 3 Fenster von denen eines nicht weiter benötigt wird und statt dessen eine Funktion aufgerufen werden soll, welche die "Arbeit" des Fensters erledigt?!

Dann müsstest du mal den Code von dem überflüssigen Fenster hochladen, damit wir helfen können.
Ganz wichtig: Erklären was gemacht werden soll!

Gruß
Alex
_________________

>> I told me to.

____________________________________
Matlab Cheat Sheet
goMatlab-Knigge - dran gehalten?!
Schon in den FAQ gesucht?
Ist vielleicht bei den Skripten oder den Tutorials was für dich dabei?
Private Nachricht senden Benutzer-Profile anzeigen
 
TimoG

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 15.09.2008, 08:34     Titel:
  Antworten mit Zitat      
Ich möchte halt nicht den ganzen Code hier reinstellen.
Ich sollte diesen Code hier nicht veröffentlichen.
Fakt ist, das ich eine Funktion erstellen müsste.
Ich habe zum einen eine Struktur und sämtliche Variablen, auf die ich zugreifen muss. So ein kleines Beispiel dürfte mir genügen.
 
steve
Ehrenmitglied

Ehrenmitglied



Beiträge: 2.029
Anmeldedatum: 03.09.07
Wohnort: Wien
Version: R2024a
     Beitrag Verfasst am: 15.09.2008, 08:37     Titel:
  Antworten mit Zitat      
TimoG hat Folgendes geschrieben:
Ich möchte halt nicht den ganzen Code hier reinstellen.
Ich sollte diesen Code hier nicht veröffentlichen.

Verständlich...

TimoG hat Folgendes geschrieben:
Fakt ist, das ich eine Funktion erstellen müsste.
Ich habe zum einen eine Struktur und sämtliche Variablen, auf die ich zugreifen muss. So ein kleines Beispiel dürfte mir genügen.

Aber ohne Anhaltspunkte wird es schwierig eines zu erstellen. Was macht denn das Fenster im Groben? Wird etwas eingelesen?

Gruß
Alex
_________________

>> I told me to.

____________________________________
Matlab Cheat Sheet
goMatlab-Knigge - dran gehalten?!
Schon in den FAQ gesucht?
Ist vielleicht bei den Skripten oder den Tutorials was für dich dabei?
Private Nachricht senden Benutzer-Profile anzeigen
 
TimoG

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 15.09.2008, 08:52     Titel:
  Antworten mit Zitat      
Das Fenster, das ich entfernen möchte, macht die Berechnung für die grafische Ausgabe. Die grafische Ausgabe habe ich mit axes durchgeführt. Nun ist es so, das ich die ganzen Optionen von plot benötige. Das sind zum Beispiel Zoom Funktionen. Da hab ich das ganze nun mit plot realisiert ohne die axes in der GUI.
Insgesamt greife ich auf vier Strukturen und sämtliche Variablen vom ersten Fenster zu. Das zweite Fenster hat auf die ganzen Strukturen und Variablen zugriff gehabt. Das müsste ich halt statt einem Fenster nur mit einer Funktion tun.

Mit diesem Code habe ich das zweite Fenster gestartet:
Code:

setappdata(0,'GUI_1,handles)
GUI_2();
 


In dem zweiten Fenster habe ich Zugriff auf die Strukturen und Variablen mit folgender Codezeile erreicht:
Code:

struct_GUI = getappdata(0,'GUI_1);
 
 
steve
Ehrenmitglied

Ehrenmitglied



Beiträge: 2.029
Anmeldedatum: 03.09.07
Wohnort: Wien
Version: R2024a
     Beitrag Verfasst am: 15.09.2008, 09:38     Titel:
  Antworten mit Zitat      
Hmmm...

Hast du es denn schon mal so probiert?
Also quasi eine Funktion schreiben, die Zeile einfügen und schauen was dabei rauskommt?

Denn im Endeffekt ist ein GUI ja auch nur eine Funktion die schön anzuschauen ist Wink

Gruß
Alex
_________________

>> I told me to.

____________________________________
Matlab Cheat Sheet
goMatlab-Knigge - dran gehalten?!
Schon in den FAQ gesucht?
Ist vielleicht bei den Skripten oder den Tutorials was für dich dabei?
Private Nachricht senden Benutzer-Profile anzeigen
 
TimoG

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 15.09.2008, 09:51     Titel:
  Antworten mit Zitat      
Folgendes hab ich ausprobiert:

Formular 1:
Code:

setappdata(0,'GUI_1,handles)
GUI_2(getappdata(0,'GUI_1));
 


Formular 2:
Code:

function h = GUI_2(fhandles)
test = h;
 


Dies klappt so nicht.

Fehlermeldung:
??? Undefined function or variable "h".

Error in ==> GUI_2 at 18
test = h;

Error in ==> GUI_1>Button_auswerten_Callback at 439
GUI_2(getappdata(0,'GUI_1'));

Error in ==> gui_mainfcn at 75
feval(varargin{:});

Error in ==> GUI_1 at 42
gui_mainfcn(gui_State, varargin{:});

??? Error while evaluating uicontrol Callback.
 
steve
Ehrenmitglied

Ehrenmitglied



Beiträge: 2.029
Anmeldedatum: 03.09.07
Wohnort: Wien
Version: R2024a
     Beitrag Verfasst am: 15.09.2008, 09:58     Titel:
  Antworten mit Zitat      
TimoG hat Folgendes geschrieben:
Folgendes hab ich ausprobiert:

Formular 1:
Code:

setappdata(0,'GUI_1,handles)
GUI_2(getappdata(0,'GUI_1));
 


Formular 2:
Code:

function h = GUI_2(fhandles)
test = h;
 


Dies klappt so nicht.

Fehlermeldung:
??? Undefined function or variable "h".


Das ist klar - denn du definierst "h" als output.

Formular 2:
Code:

function GUI_2(fhandles)
test = fhandles;
display(test);
 

Das sollte funktionieren, denke ich...

Gruß
Alex
_________________

>> I told me to.

____________________________________
Matlab Cheat Sheet
goMatlab-Knigge - dran gehalten?!
Schon in den FAQ gesucht?
Ist vielleicht bei den Skripten oder den Tutorials was für dich dabei?
Private Nachricht senden Benutzer-Profile anzeigen
 
TimoG

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 15.09.2008, 10:01     Titel:
  Antworten mit Zitat      
Formular 1:
Code:

setappdata(0,'GUI_1,handles)
GUI_2(getappdata(0,'GUI_1));
 



Formular 2:
Code:

function GUI_2(fhandles)
...
...
figure('name','GUI_2','NumberTitle','off','Position',[1 scrsz(4)/2 scrsz(3)/1.1 scrsz(4)/2])
hold on;
plot(x1,y1,'-g','MarkerSize',5)
plot(x2,y2,'-k','MarkerSize',5)
plot(x3,y3,'.m','MarkerSize',5)
plot(x4,y4,'.b','MarkerSize',5)
hold off;
 


Also so scheint es zu funktionieren.
Nur der Plot wird nicht angezeigt. Das finde ich echt komisch.

Die Daten sind ja vorhanden!

???
 
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.