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

Probleme bei Enable abfrage

 

RIPpch3n
Forum-Newbie

Forum-Newbie


Beiträge: 5
Anmeldedatum: 02.12.11
Wohnort: Berlin
Version: R2007b
     Beitrag Verfasst am: 02.12.2011, 08:46     Titel: Probleme bei Enable abfrage
  Antworten mit Zitat      
Guten Morgen an Alle,
ich habe ein Problem bei meiner GUI.
Undzwar habe ich eine GUI, wo eine Datei eingelesen wird. Bei der Datei handelt es sich um Messwerte. Diese Messwerte haben verschiedene Messpunkte und -richtungen.
Nun bin ich an einem Punkt da müssen gewisse Radiobuttons "gesperrt" werden, sodass sie nicht mehr auswählbar sind. Das ist auch soweit kein Problem. Zu jedem Messpunkt gibt es dann einen Button, wo ich die jeweiligen Messrichtungen an und ausschalten kann. Wenn nun aber vorher ein Button Gesperrt wurde, darf der Button nicht seinen Wert ändern. Dies wollte ich mit einer Frage von

Code:

A = get(handles.node1_x_radiobutton,'Enable');
B = get(handles.node1_y_radiobutton,'Enable');
C = get(handles.node1_z_radiobutton,'Enable');
if A=='on';
    if X==0.0;
        set(handles.node1_x_radiobutton,'value',1.0);
    else X==1.0;
        set(handles.node1_x_radiobutton,'value',0.0);
    end
end
if B=='on';
    if Y==0.0;
        set(handles.node1_y_radiobutton,'value',1.0);
    else Y==1.0;
        set(handles.node1_y_radiobutton,'value',0.0);
    end
end
if C=='on';
    if Z==0.0;
        set(handles.node1_z_radiobutton,'value',1.0);
    else Z==1.0;
        set(handles.node1_z_radiobutton,'value',0.0);
    end
end  
 


Das klappt soweit ganz gut. Das einzige Problem ist das diese Fehler Meldung dann ausgeworfen wird:

??? Error using ==> eq
Matrix dimensions must agree.

Error in ==> acousticgui2>node1_pushbutton_Callback at 499
if C=='on';

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

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

??? Error while evaluating uicontrol Callback

Soweit ich das bis jetzt richtig erkannt habe, ist das Problem , dass die Strings 'on' und 'off' nicht die gleiche Länge haben, und das mag er bei der Abfrage nicht.
Kann mir jmd bei dem problem weiter helfen???

Mit freundlichen Grüßen
Private Nachricht senden Benutzer-Profile anzeigen


Jan S
Moderator

Moderator


Beiträge: 11.057
Anmeldedatum: 08.07.10
Wohnort: Heidelberg
Version: 2009a, 2016b
     Beitrag Verfasst am: 02.12.2011, 09:12     Titel: Re: Probleme bei Enable abfrage
  Antworten mit Zitat      
Hallo RIPpch3n,

Strings vergleicht man in Matlab per STRCMP Befehl. Der Ausdruck "A=='on' " vergleich die Elemente der CHAR-Vektoren und dazu benötigen beide die gleiche Anzahl von Elementen oder einer muss ein Skalar sein.

Siehe:
Code:
x = 1:5;
x == 2
x == 1:5
x == 1:4  % ERROR

Bei einem Problem mit "eq" (das ist die intern aufgerufene Funktion für "==") hilft "help eq" weiter. Das Lesen der Matlab-Hilfetexte ist wärmstens zu empfehlen. Sie sind die besten Hilfetexte, die ich je in einer kommerziellen Software gesehen habe.

Gruß, Jan
Private Nachricht senden Benutzer-Profile anzeigen
 
RIPpch3n
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 5
Anmeldedatum: 02.12.11
Wohnort: Berlin
Version: R2007b
     Beitrag Verfasst am: 02.12.2011, 09:51     Titel:
  Antworten mit Zitat      
Danke für die Info. Aber irgendwie habe ich noch so meine Probleme. Von welchem Typ ist denn der Inhalt von Enable? Ist es kein String?
Private Nachricht senden Benutzer-Profile anzeigen
 
RIPpch3n
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 5
Anmeldedatum: 02.12.11
Wohnort: Berlin
Version: R2007b
     Beitrag Verfasst am: 02.12.2011, 10:00     Titel:
  Antworten mit Zitat      
Frage hat sich erledigt...
Hab gerade nen absolut dummen fehler gehabr -.-
Jetzt klappt alles. Vielen Dank für deine Hilfe.
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.