Verfasst am: 02.12.2011, 08:46
Titel: Probleme bei Enable abfrage
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???
Verfasst am: 02.12.2011, 09:12
Titel: Re: Probleme bei Enable abfrage
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.
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.
Frage hat sich erledigt...
Hab gerade nen absolut dummen fehler gehabr -.-
Jetzt klappt alles. Vielen Dank für deine Hilfe.
Einstellungen und Berechtigungen
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
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.