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

handles tag aus matrix auslesen und in GUI verwenden

 

HHPatrick
Forum-Anfänger

Forum-Anfänger


Beiträge: 48
Anmeldedatum: 26.10.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 04.01.2013, 08:54     Titel: handles tag aus matrix auslesen und in GUI verwenden
  Antworten mit Zitat      
Hallo ich noch mal,

eine Frage. Ich öffne in meiner GUI durch einen PushButton eine M-File, die eine Berechnung durchführt und am Ende die beste Anlage in eine Matrix schreibt. Ich will nun, dass in der GUI diese Anlage makiert wird. Dazu muss ich ja in der Funktion des Pushbuttons als letztes mit

Code:
set(handles.NameDerBestenAnlage),'Value',1)


den Haken für die beste Anlage setzen(In der Gui ist eine Liste von Checkboxen mit verschiedenen Anlagen, die man auswählen kann).

Mein Problen jetzt, ich speichere in der m.file die matrix ab wo die beste Anlage gespeichert ist. Dort steht an einer Stelle der handle der Anlage.
Bsp. "handles.AnlageA"

Wie übergebe ich jetzt diese Matrixstelle an den set code des Pushbuttons, damit der Code so aussieht:

Code:
set(handles.AnlageA),'Value',1)


mit:

Code:
set(cell2str(Best_Type(1,6)),'Value',1)


gibt Matlab mir den Fehler:

??? Undefined function or method 'cell2str' for input arguments of type 'cell'.

Hat jemand eine Idee, wie man das lösen könnte?

Vielen Dank und schöne Grüße

Patrick
Private Nachricht senden Benutzer-Profile anzeigen


HHPatrick
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 48
Anmeldedatum: 26.10.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 04.01.2013, 09:47     Titel:
  Antworten mit Zitat      
Ich hab jetzt umgedacht und den Anlagen Nummern zugewiesen, die Nummer der besten Anlage übergebe ich der GUI und aktiviere die Checkbox mit einer switch-case anwendung. Nur leider krieg ich von Matlab einen Fehler...

Code:
load Best_Type
A = Best_Type{1,6};

switch A
    case 1
        set(handles.AnlageA,'Value',1);
    case 2
        set(handles.AnlageB,'Value',1);
    case 3
        set(handles.AnlageC,'Value',1);
    case 4
        set(handles.AnlageD,'Value',1);
    case 5
        set(handles.AnlageE,'Value',1);
end

guidata(hObject, handles);      


Dann erhalte ich von Matlab folgenden Fehlercode:

??? Error using ==> set
There is no 'Value' property in the 'root' class.


Wieso?

SchöneGrüße
Private Nachricht senden Benutzer-Profile anzeigen
 
MaFam
Forum-Meister

Forum-Meister


Beiträge: 799
Anmeldedatum: 02.05.12
Wohnort: ---
Version: R2009b
     Beitrag Verfasst am: 04.01.2013, 10:20     Titel:
  Antworten mit Zitat      
Hallo,

was steckt denn hinter AnlageA-E? Sind das Controls? Wenn du Variablen verwenden möchtest, die in der gesamten GUI verfügbar sind, verwende besser setappdata/getappdata.

Grüße, Marc
Private Nachricht senden Benutzer-Profile anzeigen
 
HHPatrick
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 48
Anmeldedatum: 26.10.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 04.01.2013, 10:38     Titel:
  Antworten mit Zitat      
MaFam hat Folgendes geschrieben:
Hallo,

was steckt denn hinter AnlageA-E? Sind das Controls? Wenn du Variablen verwenden möchtest, die in der gesamten GUI verfügbar sind, verwende besser setappdata/getappdata.

Grüße, Marc


Hallo Marc,

das sind Checkboxen und ich will damit die Beste "Checkbox"(Anlage) aktivieren, damit der Benutzer sieht welche Anlage das Programm "empfehlen" würde.

Mit setappdate führt Matlab die Funktion ohne Fehlermeldung aus, jedoch geschieht in meiner GUI nichts. Keines der Felder wird aktiviert(haken rein).


Schön Grüße
Private Nachricht senden Benutzer-Profile anzeigen
 
HHPatrick
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 48
Anmeldedatum: 26.10.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 04.01.2013, 11:39     Titel:
  Antworten mit Zitat      
Ok, es geht auch mit set, hatte ich mir nur verschrieben Very Happy

Jetzt tut sich aber ein neues Problem auf. Wenn ich nicht die Anlage die empfohlen wurde (bsp. AnlageA) sondern AnlageB und die auswähle(Checkbox) und bei AnlageA den Haken rausnehme, bleibt
handle.AnlageA trotzdem 1 und wird nicht zu 0....

wie kann ich das ändern?

Gruß Patrick
Private Nachricht senden Benutzer-Profile anzeigen
 
HHPatrick
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 48
Anmeldedatum: 26.10.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 04.01.2013, 12:38     Titel:
  Antworten mit Zitat      
Zitat:
Soo habs hinbekommen,

man muss einfach beim Startbutton(So heißt der bei mir, der die Berechnung startet) überprüfen welche Checkboxen nun endgültig ausgewählt sind.

Beispiel:

Code:
get(handles.AnlageA,'String');
if  handles.AnlageA == 1;
    handles.AnlageAx = 1;
else
    handles.AnlageAx = 0;
end




hmm irgendwie doch nicht... Confused
Wieso werden die handles der Checkboxen nicht auf "0" gesetzt wenn man den Haken entfernt?

Schönen Gruß
Private Nachricht senden Benutzer-Profile anzeigen
 
MaFam
Forum-Meister

Forum-Meister


Beiträge: 799
Anmeldedatum: 02.05.12
Wohnort: ---
Version: R2009b
     Beitrag Verfasst am: 04.01.2013, 14:01     Titel:
  Antworten mit Zitat      
Code:

get(handles.AnlageA,'String');
if  handles.AnlageA == 1;
    handles.AnlageAx = 1;
else
    handles.AnlageAx = 0;
end
 


Ich verstehe diesen Code nicht. Was soll denn da passieren? Um die Checkboxen zu steuern, muss man get/set verwenden und auf 'Value' operieren. 'String' macht keinen Sinn.

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