[MATLAB] Problema eliminazione riga e salvataggio matrice

Messaggioda dreamer88 » 02/10/2018, 15:21

Buongiorno, ho vari file .csv, che ho nominato con numeri progressivi, che contengono dati di tot righe e 6 colonne, così fatti:
latitudine;longitudine;altitudine;data;ora;timestamp
39.981272;116.309435;423.29437664042;2009-06-28;17:45:08;1246203908000
Io vorrei eliminare il primo rigo e salvare in nuovi file o anche in questi con tutte le cifre senza troncamenti, ma non riesco.
Ho scritto questo codice.
n=3;
b=[];
format longeng
for i=1:n
name=['file' num2str(i) '.csv'];

table = readtable(name,'Delimiter',';','ReadVariableNames',false); %ho cambiato , con ;
s=table2array(table (2:end,:));

b=[b;s];

end

ora però b è un 4800x6 cell
Devo trasformarla in una matrice di 4800 righe e 6 colonne e salvarla ma se uso
cell2mat(b)
mi dice:
Error using cat
Dimensions of matrices being concatenated are not consistent.

Error in cell2mat (line 83)
m{n} = cat(1,c{:,n});
Se invece dopo l'end uso
data = str2double(b);
la colonna 4 e 5 di data e ora mi spuntano come NaN ma la matrice mi viene convertita in 4800x 6 double.
Potreste aiutarmi?
Mi dava un warning %gia qui mi dava questo earning Warning: Unable to determine the format of the DATETIME data. %Try adding a format to the DATETIME specifier. e.g. '%{MM/dd/uuuu}D'. %> In table/readTextFile>textscanReadData (line 539) % In table/readTextFile (line 236) % In table.readFromFile (line 39) % In readtable (line 198) %(line 7 cioè con table2array)

Per salvarlo questo comando è corretto?
save 'provatraiettorieunite.txt' -ascii -double data

se invece vorrei salvare in double tutti i singoli files nel for, senza concatenare in b ma salvando le 3 matrici s, come dovrei scrivere?
dreamer88
Junior Member
Junior Member
 
Messaggio: 141 di 153
Iscritto il: 19/05/2007, 14:55

Torna a Informatica

Chi c’è in linea

Visitano il forum: Nessuno e 1 ospite