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

cell zu double konvertieren

 

aquapott
Forum-Newbie

Forum-Newbie


Beiträge: 4
Anmeldedatum: 17.06.18
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 08.07.2018, 21:40     Titel: cell zu double konvertieren
  Antworten mit Zitat      
Guten Abend.
Ich stehe vor einem problem. Undzwar habe ich eine 15744x5 table in der unter anderem die spalten für Temperatur und Tiefe enthalten sind. Diese muss ich plotten und brauche sie demnach als double. Ich habe also die beiden spalten nun als 15744x1 cells vorliegen. Jegliche versuche, von cell zu double umzuformen scheiterten.

Angehängt ist nur der teil für die Temperatur, den ich auch schon zig mal umgeschrieben habe:
Code:
M = readtable('allData.csv','Delimiter',',');
Ma = table2array(M);
Mat3 = [Ma(:,3)];

[c,d] = size(M);
e = linspace(1,c,c)';
f = e/288;

ctemp = [Mat3{1:c,1}];
temp = cell2mat(ctemp)


Dabei kommt beispielsweise der Fehler:
Brace indexing is not supported for variables of this type.

Error in cell2mat (line 42)
cellclass = class(c{1});

Error in processBooneCreekData (line 53)
temp = cell2mat(ctemp)

Ich hoffe ihr könnt mir helfen,
LG, aquapott
Private Nachricht senden Benutzer-Profile anzeigen


Harald
Forum-Meister

Forum-Meister


Beiträge: 24.492
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 08.07.2018, 22:24     Titel:
  Antworten mit Zitat      
Hallo,

ohne die Daten kann man nur raten, welchen Datentyp die beteiligten Variablen haben. readtable und table2array gibt numerische Spalten i.d.R. direkt als Double aus.

Die Fehlermeldung deutet daraufhin, dass Mat3 kein Cell Array ist. Selbst wenn es eines wäre, wäre es im darauffolgenden Schritt keines mehr.

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
aquapott
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 4
Anmeldedatum: 17.06.18
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 08.07.2018, 22:55     Titel:
  Antworten mit Zitat      
Wenn ich eine Datei auswähle und dann auf absenden klicke, öffnet sich wieder das "Antwort schreiben" Fenster... Sad
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.492
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 09.07.2018, 08:01     Titel:
  Antworten mit Zitat      
Hallo,

Zitat:
Wenn ich eine Datei auswähle und dann auf absenden klicke, öffnet sich wieder das "Antwort schreiben" Fenster...


Du hast aber schon auch auf "Datei anhängen" geklickt?

Ansonsten kann ich da nur die üblichen Empfehlungen geben:
Seite neu laden, anderen Browser versuchen.

Wenn das nicht hilft, auch mal in dem Pro & Contra - Bereich Bescheid geben.


Unabhängig davon kannst du ja mal schreiben, welche Datentypen die beteiligten Variablen haben.

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
aquapott
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 4
Anmeldedatum: 17.06.18
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 09.07.2018, 10:59     Titel:
  Antworten mit Zitat      
Ah, gestern Abend hat er mir nicht angezeigt, dass man cdv-Dateien nicht hochladen darf/kann. Hoffe es klappt jetzt.

allData.zip
 Beschreibung:

Download
 Dateiname:  allData.zip
 Dateigröße:  55.6 KB
 Heruntergeladen:  361 mal
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.492
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 09.07.2018, 11:10     Titel:
  Antworten mit Zitat      
Hallo,

das Problem ist, dass die Zahlen aus irgendeinem Grund als Zeichenketten importiert werden.
Code:


Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
aquapott
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 4
Anmeldedatum: 17.06.18
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 09.07.2018, 11:19     Titel:
  Antworten mit Zitat      
Vielen Dank! Jetzt klappt es Very Happy
Private Nachricht senden Benutzer-Profile anzeigen
 
DerElch

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 18.07.2018, 09:23     Titel:
  Antworten mit Zitat      
Harald hat Folgendes geschrieben:
Hallo,

das Problem ist, dass die Zahlen aus irgendeinem Grund als Zeichenketten importiert werden.
Code:


Grüße,
Harald


Das kann sein, das Matlab hier manchmal Probleme hat.
Wenn sich die Datei nicht ändert in den Spalten und readTable sowieso benutzt wird, würde ich mit detectImportOptions arbeiten.
Dauer der Funktion: ca. 1 Sekunde (selbst bei 80MB Daten)
Hier kann man ganz genau zuweisen, wie was er einlesen soll. Diese Optionen kann man dann direkt bei readTable mitgeben.

Vorteil: Man kann gleich sagen wie er DateTime einlesen soll und erspart sich das str2double. Da die Funktion bei größeren Daten sehr lange brauchen kann.

Ich nutze die Funktion derzeit selbst für Messdaten. Bei einer 40MB csv bin ich in etwa bei 8 Sekunden EinleseZeit. (Auf einem gewöhnlichen EliteBook)
 
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.