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

Werte aus uitable weiterverwenden

 

manueueue
Forum-Newbie

Forum-Newbie


Beiträge: 3
Anmeldedatum: 25.08.11
Wohnort: Ka
Version: ---
     Beitrag Verfasst am: 26.08.2011, 19:07     Titel: Werte aus uitable weiterverwenden
  Antworten mit Zitat      
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
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: 26.08.2011, 21:13     Titel: Re: Werte aus uitable weiterverwenden
  Antworten mit Zitat      
Hallo manueueue,

Code:
data=get(handles.output_table_Mstar,'data');
test1 = data{1,1};  % *Geschweifte* Klammern!
test2 = test1 + 1;

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
Private Nachricht senden Benutzer-Profile anzeigen
 
manueueue
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 3
Anmeldedatum: 25.08.11
Wohnort: Ka
Version: ---
     Beitrag Verfasst am: 26.08.2011, 21:49     Titel:
  Antworten mit Zitat      
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
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: 27.08.2011, 15:28     Titel:
  Antworten mit Zitat      
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
Private Nachricht senden Benutzer-Profile anzeigen
 
manueueue
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 3
Anmeldedatum: 25.08.11
Wohnort: Ka
Version: ---
     Beitrag Verfasst am: 29.08.2011, 15:51     Titel:
  Antworten mit Zitat      
Hi,

die Kombination von str2num und den geschweiften Klammern funktioniert, vielen Dank.

Gruesse
Manuel
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.