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

Anhängen von daten an tabelle

 

Bärenjunge
Forum-Newbie

Forum-Newbie


Beiträge: 8
Anmeldedatum: 20.10.11
Wohnort: ---
Version: 2011b
     Beitrag Verfasst am: 25.10.2011, 08:54     Titel: Anhängen von daten an tabelle
  Antworten mit Zitat      
hallo liebe forenmitglieder!

ich hab ein problem:

hab eine programm mit dem ich daten einlesen kann und diese werden dann in eine tabelle hereingeladen mit
set(handles.uitable1,'Data',tableData)

nun möchte ich weitere daten hinzufügen jedoch ohne die vorhandene tabelle zu überschreiben ... also einfach nur daten anhängen jedoch ersetze ich die mit dem befehl set(handles.uitable1,'Data',tableData)
die alten daten ... das is meine misere

also wenn ihr eine idee habt wie ich das problem lösen könnte so wäre ich euch sehr dankbar
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: 25.10.2011, 11:54     Titel: Re: Anhängen von daten an tabelle
  Antworten mit Zitat      
Hallo Bärenjunge,

Man kann zwar per Java einzelne Werte ändern oder anfügen. Leider ist das aber nicht stabil und ändert sich mit den Matlab-Versionen. UITABLE und UITREE sind einfach lange noch nicht ausgereift. Wenn Du dies dem Technischen Support mitteilst, steigt die wahrscheinlichkeit, das in einem neuen Matlab Release beide Objekte verbessert werden.

Eine neue Zeile anfügen:
Code:
tableData = rand(4, 4);
set(handles.uitable1, 'Data', tableData)

% ...
newLine = rand(1, 4);
oldData = get(handles.uitable1, 'Data');
newData = cat(1, oldData, newLine);
set(handles.uitable1, 'Data', newData);

Dabei wird die aktuelle Selektion gelöscht. Besser geht es aber wohl nicht, da man die Selektion auch nicht so einfach wieder im Programm setzen kann.

Gruß, Jan
Private Nachricht senden Benutzer-Profile anzeigen
 
Bärenjunge
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 8
Anmeldedatum: 20.10.11
Wohnort: ---
Version: 2011b
     Beitrag Verfasst am: 25.10.2011, 14:28     Titel:
  Antworten mit Zitat      
aller besten dank is wie ne schleife sehr gute idee! ... stand ich mal wieder aufm schlauch ...
vielen dank dafür Very Happy

hab jetzt ein anderes problem und steig glaub ich selber nich mehr so richtig durch mein prog ... also ich mein ich seh den fehler nicht mehr ... hab wohl zu lange heute drangesessen...

also ich bekomm immer den fehler index eceeds matrix-dimensions
Code:


function pushbutton1_Callback(hObject, eventdata, handles)
% hObject    handle to pushbutton1 (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)

% Angeben(Ort) der OF-Daten
[handles.datei,handles.pfad]=uigetfile('*.OF','MultiSelect','on');

%% OF-Namen in Tabelle eintragen
tableData = get(handles.uitable1,'Data');

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

if iscell(handles.datei)

for x=1:spalten

listData{x,1} = (handles.datei{1,x});
   
loadData{x,1} = (handles.datei{1,x});
loadData{x,2} = ('-');
loadData{x,3} = ('-');
loadData{x,4} = ('-');

end

else
    listData = (handles.datei);
    loadData{1,1} = (handles.datei);
    loadData{1,2} = ('-');
    loadData{1,3} = ('-');
    loadData{1,4} = ('-');
   
    dateipfad = get(handles.listbox1,'String');
    dateipfad{length(dateipfad)+1} = listData;
    display(dateipfad);
    set(handles.listbox1,'String',dateipfad);
    set(handles.listbox1,'Value',1);
end

[zeilen,spalten] = size(tableData)

if isempty(tableData{1,1})
    set(handles.uitable1,'Data',loadData);
   
else
addedData = vertcat(tableData,loadData);

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


%% Übergabe der Oberflächennamen an Listbox

for x = 1:spalten
dateipfad = get(handles.listbox1,'String');
dateipfad{x,1} = listData{x,1};
display(dateipfad);
set(handles.listbox1,'String',dateipfad);
set(handles.listbox1,'Value',1);
end

 


hoffentlich seht ihr den fehler ... ich komm gerade nich drauf irgendwie glaub ich eine matrix falsch dimensioniert zu haben
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: 25.10.2011, 14:46     Titel:
  Antworten mit Zitat      
Hallo Bärenjunge,

Zitat:
also ich bekomm immer den fehler index eceeds matrix-dimensions

Die Fehlermeldung enthält auch die Zeilennummer, in der das Problem auftritt. Es ist schon sinnvoll, diese auch hier zu posten, damit wir nicht raten müssen.

Im Allgemeinen hilft "dbstop if error" in solchen Fällen. Dann stoppt Matlab, wenn ein Fehler auftritt, und Du kannst die Werte der Variablen untersuchen.

Gruß, Jan
Private Nachricht senden Benutzer-Profile anzeigen
 
Bärenjunge
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 8
Anmeldedatum: 20.10.11
Wohnort: ---
Version: 2011b
     Beitrag Verfasst am: 25.10.2011, 15:04     Titel:
  Antworten mit Zitat      
sorry voll verpeilt aber habs schon selber rausgefunden trotzdem danke! hab die folgendes umgeändert

Code:


%% Übergabe der Oberflächennamen an Listbox

% handles.file = regexprep(handles.datei,'\.(.)*',''); --> evtl ohne
% Dateiendung

dateipfad = get(handles.listbox1,'String');
dateipfad = vertcat(dateipfad,listData);
display(dateipfad);
set(handles.listbox1,'String',dateipfad);
set(handles.listbox1,'Value',1);

 
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.