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

Mehrere Tabelle in eine zusammenfügen (gleich viele Spalten

 

student_123
Forum-Anfänger

Forum-Anfänger


Beiträge: 18
Anmeldedatum: 14.05.19
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 21.05.2019, 11:55     Titel: Mehrere Tabelle in eine zusammenfügen (gleich viele Spalten
  Antworten mit Zitat      
Hallo,

ich habe drei Datensätze, die die gleiche Anzahl an Spalten aber unterschiedlich viele Zeilen besitzen. Ich möchte zum Auswerten der Daten die drei Tabellen in eine Tabelle zusammenfügen.


Versucht habe ich bisher folgendes aus einem älteren Forumbeitrag:


Code:
ein = dir('*mat');

for x = 1:length(ein)
  C{x} = load(fullfile('Daten', ein{x}));
end
 


Leider weiß ich nicht, wie ich als matlab-Neuling das Problem lösen kann. Folgende Fehlermeldung wird mir angezeigt:
Zitat:
Cell contents reference from a non-cell array object.

Error in Untitled (line 4)
C{x} = load(fullfile('Daten', ein{x}));



Viele Grüße

Student_123
Private Nachricht senden Benutzer-Profile anzeigen


Harald
Forum-Meister

Forum-Meister


Beiträge: 24.432
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 21.05.2019, 12:02     Titel:
  Antworten mit Zitat      
Hallo,

ein ist kein Cell Array. Die geschweiften Klammern sind da also nicht sinnvoll. Versuchs mal so:

Code:
ein = dir('Daten\*.mat');
C = cell(1, length(ein));
for x = 1:length(ein)
  C{x} = load(fullfile('Daten', ein(x).name));
end


Grüße,
Harald
_________________

1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
Private Nachricht senden Benutzer-Profile anzeigen
 
student_123
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 18
Anmeldedatum: 14.05.19
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 21.05.2019, 13:52     Titel:
  Antworten mit Zitat      
Hallo Harald,

vielen Dank dafür. Um mit C{x} weiterarbeiten zu können, habe ich mit mit
Code:
T = cell2table(C);

eine Tabelle erstellt. Mein Problem ist jetzt nur, dass die einzelnen Tabellen als struct gespeichert sind, ich hätte aber gerne eine zusammenhängende table, da ich alle Daten zusammen auswerten möchte.
Wie kann ich das lösen?

Viele Grüße
Student_123
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.432
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 21.05.2019, 14:42     Titel:
  Antworten mit Zitat      
Hallo,

ein konkretes Beispiel (kleine Daten + Code) wäre hilfreich. Noch kann ich mir die Datenstruktur nicht recht vorstellen.

Grüße,
Harald
_________________

1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
Private Nachricht senden Benutzer-Profile anzeigen
 
student_123
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 18
Anmeldedatum: 14.05.19
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 21.05.2019, 15:17     Titel:
  Antworten mit Zitat      
Hallo Harald,

anbei die drei Datensätze in abgespeckter Form. Diese drei Tabelle möchte ich in eine Tabelle zusammenfügen, um anschließend die Verteilung von zB. Spalte 3 auszuwerten.

Viele Grüße
Student_123

tabelle3.mat
 Beschreibung:

Download
 Dateiname:  tabelle3.mat
 Dateigröße:  1.29 KB
 Heruntergeladen:  227 mal
tabelle2.mat
 Beschreibung:

Download
 Dateiname:  tabelle2.mat
 Dateigröße:  1.02 KB
 Heruntergeladen:  231 mal
tabelle1.mat
 Beschreibung:

Download
 Dateiname:  tabelle1.mat
 Dateigröße:  1.1 KB
 Heruntergeladen:  241 mal
Private Nachricht senden Benutzer-Profile anzeigen
 
student_123
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 18
Anmeldedatum: 14.05.19
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 22.05.2019, 09:15     Titel:
  Antworten mit Zitat      
Manchmal ist die Lösung so einfach. Ich hab mein Problem jetzt doch gelöst bekommen.


Code:
table = vertcat(tabelle1, tabelle2, tabelle3);
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 - 2024 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.