|
|
Datenverarbeitung aus cell-arrays (Exceltabelle) |
|
Gast0101 |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 03.07.2015, 12:37
Titel: Datenverarbeitung aus cell-arrays (Exceltabelle)
|
 |
|
 |
|
Hey
ich versuche mein Problem mal zu erklären:
Ich lese mit der Funktion [num,txt,raw] = xlsread('test_tab'); meine Exceltabelle ein.
In dieser Tabelle ist die erste Zeile die Überschrift, es gibt drei Spalten (und ca. 100000 Zeilen): Geburtsdatum, Geschlecht, Gewicht. Bei num bekomme ich nur das Gewicht angezeigt, bei txt nur Geschlecht und jahr und bei raw alle daten, jedoch sind diese in cellen gespeichert für jede Zelle in Excel eine in Matlab.
dadurch dass sie cell sind kann ich mein Programm nicht schreiben, ich möchte gerne per if-Schleife eine Abfrage starten:
1. alle männlichen
2.in einem bestimmten jahr geboren
3.unter 75 kg.
und wenn diese if-schleifen alle zutreffen dann soll die kg-Anzahl mit einem wert aus einer anderen Tabelle multipliziert werden.
Kann mir jemand bei dem Aufbau der if-Schleifen helfen, ich bekomme meistens die antwort: "Undefined function 'eq' for input arguments of type 'cell'.".
Ich würde mich sehr über eure Hilfe freuen.
Katharina
|
|
|
|
|
Grünschnabel |

Forum-Fortgeschrittener
|
 |
Beiträge: 80
|
 |
|
 |
Anmeldedatum: 01.10.13
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: MATLAB R2013a
|
 |
|
|
 |
|
Verfasst am: 03.07.2015, 13:51
Titel:
|
 |
Hi Katharina,
poste doch mal deinen code, eventuell kann dir dann schneller geholfen werden.
LG
Der Grünschnabel
|
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.501
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 03.07.2015, 13:53
Titel:
|
 |
Hallo,
wenn du deinen gesamten verwendeten Code zeigst, ist das ganze deutlich einfacher.
Um die Daten schön zu importieren, würde ich Tables verwenden:
Für das Geschlecht bietet sich die Verwendung von
categorical
an.
If-Abfragen in einer for-Schleife sind hier unnötig. Man kann das auch mit logischer Indizierung erreichen.
Für weitere Fragen wäre ein kleiner Testdatensatz hilfreich.
Grüße,
Harald
|
|
|
Winkow |

Moderator
|
 |
Beiträge: 3.842
|
 |
|
 |
Anmeldedatum: 04.11.11
|
 |
|
 |
Wohnort: Dresden
|
 |
|
 |
Version: R2014a 2015a
|
 |
|
|
 |
|
Verfasst am: 03.07.2015, 13:55
Titel:
|
 |
gibt da einige funktionen die helfen könnten.
cellfun
strcmp
cell2mat
und noch einige andere. für bessere hilfe kann ich mich da nur Grünschnabel anschließen. code und beispieldaten.
grüße
_________________
richtig Fragen
|
|
|
Gast1010 |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 04.07.2015, 10:15
Titel:
|
 |
Vielen Dank für eure Tipps, ich konnte sie sehr gut verwenden
Hier die ersten 10 zeilen meiner Daten:
Ich habe die Daten mit "readtable" geöffnet, und würde jetzt die einzelnen Spalten umwandeln:
1. mit
2.
3. weiß ich nicht...??
Im Anschluß versuchen diese wieder in einer Matrix zusammenzusetzen, ist das mit verschiedenen Datentypen dann möglich??
Gruß, Katharina
B =
Gewicht_kg_ Geschlecht Geburtsdatum
___________ __________ ____________
67 'w' '01.02.1985'
78 'm' '02.03.1967'
65 'w' '15.08.1975'
68 'w' '12.10.1963'
98 'm' '24.09.1990'
102 'm' '14.05.1993'
55 'm' '13.03.1977'
46 'w' '19.05.1988'
78 'w' '25.04.1955'
|
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.501
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 04.07.2015, 10:33
Titel:
|
 |
Hallo,
Zitat: |
und würde jetzt die einzelnen Spalten umwandeln: |
warum, und vor allem warum so kompliziert? Du kannst die einzelnen Spalten über den Namen ansprechen, z.B.
Zitat: |
Im Anschluß versuchen diese wieder in einer Matrix zusammenzusetzen, ist das mit verschiedenen Datentypen dann möglich?? |
Höchstens als Cell Array oder als Table, aber einen Table hast du ja schon... du kannst damit direkt weitermachen, etwa so:
Grüße,
Harald
|
|
|
|
|
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.
|
|