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

bekomme keine locical Variable aus uitable heraus

 

EccoBravo
Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 64
Anmeldedatum: 12.08.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 09.05.2013, 22:39     Titel: bekomme keine locical Variable aus uitable heraus
  Antworten mit Zitat      
bekomme keine locical Variable aus uitable heraus


meine Tabelle uitable ist wie folgt definiert:

Code:

 Spaltenformat = {'numeric','numeric','numeric','logical'};
    Spalteneditieren = [false, false, false, true];
    Spalten = {'Min', 'Max', 'Mean', 'Wahl'};
    Zeilen = {dvh.structures.structure};
       
    %Erstellen der Tabelle
    set(handles.uitable1,'ColumnFormat',Spaltenformat);
    set(handles.uitable1,'ColumnEditable',Spalteneditieren);
    set(handles.uitable1,'RowName',Zeilen);
    set(handles.uitable1,'ColumnName',Spalten);
    %Tabellendaten
    for i = 1:ii
        Daten(i,:) = {dvh.structures(i).min_dose dvh.structures(i).max_dose dvh.structures(i).mean_dose false};
    end  
    set(handles.uitable1,'Data',Daten);
 


Nun will ich nach Ändern einer logischen Checkbox
die Tabelle mittels CellEditCallback-Function in die Variable "Daten" wieder auslesen,
um den logischen Wert der 4. Spalte im Programm (if...else...) anzuwenden.

Code:

function uitable1_CellEditCallback(hObject, eventdata, handles)
...
  %get(handles.uitable1,'Data')
  %save

 Daten = get(handles.uitable1,'Data')
 guidata(hObject,handles);
 Kurve(handles);
 


Würde ich die auskommentierte Zeile
%get(handles.uitable1,'Data')
anwenden, bekomme ich die Tabelle "Daten" korrekt wie folgt auf dem Command Windows angezeigt (siehe untenstehend):

>> ML_DVH_9

Daten =

'60.3' '89.8' '77.3' [1]
'53.6' '104.8' '90.9' [0]
'85.4' '104.6' '100.1' [0]


Leider wird die untenstehende, gewünschte if... Codesequenz nicht ausgeführt:

Code:

for i = 1:ii
    handles.Daten(i,4)
    if (handles.Daten(i,4)==1) & (j == 0)
        set(gca,'ColorOrder',Farbe(i,:));
                 plot(handles.dvh.structures(i).dvh_data(:,1), handles.dvh.structures(i).dvh_data(:,3));
                 hold on;
    end            
    if (handles.Daten(i,4)==1) & (j > 0)    
        set(gca,'ColorOrder',Farbe(i,:));
                 plot(handles.dvh.structures(i).dvh_data(:,1), handles.dvh.structures(i).dvh_data(:,3));
    end
    j = j + 1;
end
 



es kommt hier zu einer Fehlermeldung:

Undefined function 'eq' for input arguments of type 'cell'.

Error in ML_DVH_9>Kurve (line 247)
if (handles.Daten(i,4)==1) & (j == 0)

Error in ML_DVH_9>uitable1_CellEditCallback (line 566)
Kurve(handles);

Error in gui_mainfcn (line 96)
feval(varargin{:});

Error in ML_DVH_9 (line 43)
gui_mainfcn(gui_State, varargin{:});

Error in @(hObject,eventdata)ML_DVH_9('uitable1_CellEditCallback',hObject,eventdata,guidata(hObject))


Error while evaluating uitable CellEditCallback


Ich weiss hier nicht mehr so richtig weiter.

Was muss ich machen, damit Matlab die Zelle Daten(i,4) richtig als logische Variable aus der Tabelle uitable1 herausliest
und Daten(i,4) als logischer Wert in einer if... else... verwendbar ist?

Vielen Dank

EB
_________________

Ich habe mich nicht mit Ruhm bekleckert, dafür aber andere.
Meine Hobbies,
bunt zuschauen und rhytmisch zuhören!
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: 10.05.2013, 07:29     Titel:
  Antworten mit Zitat      
Hallo,

du musst die Daten aus dem Cell Array herausholen:
Code:
if (handles.Daten{i,4}==1)


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