|
|
Werte aus uitable weiterverwenden |
|
manueueue |
Forum-Newbie
|
|
Beiträge: 3
|
|
|
|
Anmeldedatum: 25.08.11
|
|
|
|
Wohnort: Ka
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 26.08.2011, 19:07
Titel: Werte aus uitable weiterverwenden
|
|
|
|
|
Hallo Matlab-Kenner,
Ich programmiere gerade ein Programm unter Verwendung von GUI. An folgendem scheitere ich jedoch.
Ich möchte einige Daten berechnen lassen und in einer uitable in dem GUI ausgeben.
Z.B. den Anteil der Gase 1, 2, 3 (Spalten) nach dem Reaktor 1 und 2 (Zeilen).
Soweit bekomme ich es noch hin. Jetzt sollen die Werte von einem anderen handle (z.B. Pushbutton) ausgelesen werden und damit gerechnet werden. Also Z.B. den Werte aus Zeile 1 und Spalte 1 mit 1 multiplizieren:
data=get(handles.output_table_Mstar,'data');
test1=data(1,1);
test2=test1+1;
Es kommt folgende Fehlermeldung:
??? Undefined function or method 'plus' for input arguments of type 'cell'.
Error in ==> GUI_reactor_model>popup_betaLSaLS_Callback at 943
test2=test1+1
Error in ==> gui_mainfcn at 96
feval(varargin{:});
Error in ==> GUI_reactor_model at 42
gui_mainfcn(gui_State, varargin{:});
Error in ==>
@(hObject,eventdata)GUI_reactor_model('popup_betaLSaLS_Callback',hObject,eventdata,guidata(hObject))
??? Error while evaluating uicontrol Callback
Auch mit str2num(test1) geht es nicht. Fuer einen Matlab-Kenner ist das sichrlich ein einfaches Problem, daher bin ich voller Hoffnung, dass mir hier einer helfen kann.
Vielen Dank
Manuel
|
|
|
|
|
Jan S |
Moderator
|
|
Beiträge: 11.057
|
|
|
|
Anmeldedatum: 08.07.10
|
|
|
|
Wohnort: Heidelberg
|
|
|
|
Version: 2009a, 2016b
|
|
|
|
|
|
Verfasst am: 26.08.2011, 21:13
Titel: Re: Werte aus uitable weiterverwenden
|
|
Hallo manueueue,
Wenn Du ein Element aus einem CELL Array brauchst, werdengeschweifte Klammern benötigt: C={1,2,3}, a=C{1}. Mit C(1) hat man nur ein CELL mit einem einzigen Element erzeugt.
Gruß, Jan
|
|
|
manueueue |
Themenstarter
Forum-Newbie
|
|
Beiträge: 3
|
|
|
|
Anmeldedatum: 25.08.11
|
|
|
|
Wohnort: Ka
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 26.08.2011, 21:49
Titel:
|
|
Hi Jan,
vielen Dank für die Antwort. Ich habe es jetzt so abgeändert:
data=get(handles.output_table_Mstar,'data');
test1=data{1,2}
test2=test1+1
Es kommt schonmal keine Fehlermeldung mehr, aber es wird folgendes Ergebniss gezeigt:
test1 =
34.6443
test2 =
52 53 47 55 53 53 52
Eigentlich sollte doch test2=35.6443 sein, was läuft hier noch schief?
Danke
Manuel
|
|
|
Jan S |
Moderator
|
|
Beiträge: 11.057
|
|
|
|
Anmeldedatum: 08.07.10
|
|
|
|
Wohnort: Heidelberg
|
|
|
|
Version: 2009a, 2016b
|
|
|
|
|
|
Verfasst am: 27.08.2011, 15:28
Titel:
|
|
Hall manueueue,
Das ist lustig, oder?
Zitat: |
test1 = 34.6443
test2 = 52 53 47 55 53 53 52 |
"test1" ist ein String, also ein CHAR Vektor. Wenn man nun zu einem CHAR einen DOUBLE Wert addiert, gibt Matlab einen DOUBLE zurück. Der ASCII-Wert für '3' ist 51, deshalb is '3' + 1 = 52.
Du musst die Strings erst per SSCANF in Zahlen umwandeln.
Gruß, Jan
|
|
|
manueueue |
Themenstarter
Forum-Newbie
|
|
Beiträge: 3
|
|
|
|
Anmeldedatum: 25.08.11
|
|
|
|
Wohnort: Ka
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 29.08.2011, 15:51
Titel:
|
|
Hi,
die Kombination von str2num und den geschweiften Klammern funktioniert, vielen Dank.
Gruesse
Manuel
|
|
|
|
|
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
|
|
Impressum
| Nutzungsbedingungen
| Datenschutz
| FAQ
| 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.
|
|