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

Auslesen von Einträgen aus einer uitable

 

Kim Sarah
Forum-Anfänger

Forum-Anfänger


Beiträge: 35
Anmeldedatum: 24.11.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 21.12.2010, 20:37     Titel: Auslesen von Einträgen aus einer uitable
  Antworten mit Zitat      
Hallo Leute,

also folgendes will ich hinkriegen:

Ich habe eine Matrix und diese soll in einer uitable im Gui eingetragen werden. Das kriege ich soweit hin mit:

Code:
set(handles.uitable1,'data',KrVe);


(KrVe ist eine 15x1 Matrix)

Nun will ich aber die Einträge in der uitable1 verändern und sie wieder in eine Matrix umwandeln.

Dazu habe ich folgendes getan:

Code:
DataF= get(handles.uitable1, 'Data');
Fn=str2double(DataF);


Was ich jetzt aber für Fn kriege ist nur ein NaN, obwohl doch überall in der uitable1 Zahlen stehen? Weiss vielleicht jemand woran das liegen könnte?

Danke schon mal Very Happy
Private Nachricht senden Benutzer-Profile anzeigen


ppirokke
Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 64
Anmeldedatum: 19.11.10
Wohnort: ---
Version: R2010a
     Beitrag Verfasst am: 21.12.2010, 21:08     Titel:
  Antworten mit Zitat      
Hallo Kim Sarah,

wieso willst du die entgegengenommene Tabelle noch umwandeln?
Ich bekomme aus der uitable direkt double Werte übergeben, wie ich sie auch reinschreibe.


Gruß ppirokke
Private Nachricht senden Benutzer-Profile anzeigen
 
Marco H.
Forum-Guru

Forum-Guru


Beiträge: 404
Anmeldedatum: 12.11.10
Wohnort: Dortmund
Version: 2010a/2012b
     Beitrag Verfasst am: 21.12.2010, 21:56     Titel:
  Antworten mit Zitat      
Hi,

prinzipell bekommst du mit
Code:

data = get(table,'Data');
 

ein cell array zurück.
Zitat:

Was ich jetzt aber für Fn kriege ist nur ein NaN, obwohl doch überall in der uitable1 Zahlen stehen?


Du hast nun wie du schon sagst doubles in einem cellarray. Diese kannst du mittels
Code:

DataDouble = cell2mat(get(table,'Data'));
 

in ein doublearray umschreiben...

MfG Marco
Private Nachricht senden Benutzer-Profile anzeigen
 
Marco H.
Forum-Guru

Forum-Guru


Beiträge: 404
Anmeldedatum: 12.11.10
Wohnort: Dortmund
Version: 2010a/2012b
     Beitrag Verfasst am: 21.12.2010, 22:04     Titel:
  Antworten mit Zitat      
ohh,

sry wenn du natürlich nur doubles als data übergibst bekommst du auch nur doubles zurück... dann brauchste das cell2mat garnicht. Tja sowas, ich arbeite zuviel mit cellarrays...

str2double([1 2 3 4]) ergibt 4x NaN da es schon doubles sind...

MfG Marco
Private Nachricht senden Benutzer-Profile anzeigen
 
Bärenjunge
Forum-Newbie

Forum-Newbie


Beiträge: 8
Anmeldedatum: 20.10.11
Wohnort: ---
Version: 2011b
     Beitrag Verfasst am: 24.10.2011, 13:06     Titel:
  Antworten mit Zitat      
hey srry wenn ich das hier herein poste
aber habe im prinzip das selbe problem bloß mit strings ...
ich lese meine dateinamen ein und füge diese in die uitable,'Data' ein:


Code:

[handles.datei,handles.pfad]=uigetfile('*.OF','MultiSelect','on');

tableData = get(handles.uitable1,'Data');

[zeilen,spalten] = size(handles.datei)

for x=1:spalten
tableData{x,1} = (handles.datei{1,x});

end
set(handles.uitable1,'data',tableData);
 


wenn ich dann aber die anderen spalten editieren will kommt nur NaN owohl ich einen text schreibe wie zb V6_TFSI und die dateinamen sind doch auch strings ... ich versteh das nicht hat vlt jemand nen tipp?
Private Nachricht senden Benutzer-Profile anzeigen
 
Marco H.
Forum-Guru

Forum-Guru


Beiträge: 404
Anmeldedatum: 12.11.10
Wohnort: Dortmund
Version: 2010a/2012b
     Beitrag Verfasst am: 25.10.2011, 08:04     Titel:
  Antworten mit Zitat      
Hey,
wenn dein Clolumn-Format auf numeric steht versucht Matlab den eingegebenen String in einen double zu ändern (siehe z.B. str2double). Soll heißen wenn du einen Text eingibt geht das nicht und ein NaN ist das Resultat. Du könntest das Column-Format auf 'LetMatlabChoose' stellen, dann musst du nur beim auslesen darauf achten was Matlab da im einzelnen gemacht hat. Betrachtest du die Tabelle, dann ist in einem Cell linksbündig = String und rechtsbündig = double. So erkennst du was gerade eingestellt ist...

Greetings

Marco
Private Nachricht senden Benutzer-Profile anzeigen
 
Bärenjunge
Forum-Newbie

Forum-Newbie


Beiträge: 8
Anmeldedatum: 20.10.11
Wohnort: ---
Version: 2011b
     Beitrag Verfasst am: 25.10.2011, 08:20     Titel:
  Antworten mit Zitat      
vielen dank für deine antwort!
jedoch hatte ich das format auf let matlab chose eingestellt und es kam ein linksbündiges NaN was meiner meinung nach total seltsam is ... kann mir das einfach nicht erklären ich hab mir jetzt aber selber abhilfe geschafft mit folgendem:

Code:
[handles.datei, handles.pfad] = uigetfile('*.OF','MultiSelect','on');
tableData = get(handles.uitable1,'Data');
[zeilen, spalten] = size(handles.datei)

for x=1:spalten
  listData{x,1} = (handles.datei{1,x});
  tableData{x,1} = (handles.datei{1,x});
  tableData{x,2} = ('-');
  tableData{x,3} = ('-');
  tableData{x,4} = ('-');
end
set(handles.uitable1,'data',tableData);
 


dadurch hab ich von vornherein festgelegt das strings in den cells sein sollen (in dem fall "-") diese kann ich dann auch ersetzen und editieren

ich kann bloß nicht verstehen warum mir matlab das nicht macht wenn ich die cells leer lasse bzw nur mit den dateinamen fülle
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.