How to copy cell data to a matrix?
4 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
Navid Mohammad Imran
il 11 Ago 2020
Commentato: hosein Javan
il 11 Ago 2020
I have a text file where I use
to read comma-delimited data into a cell array. The text file contains multiple lines of data so now I want to run a loop to copy some of the data read to the 2-D cell array into a matrix. This is a snippet of my code:
A = zeros(4,6);
%Read data
while ischar(c)
c = textscan(fileID,'%s %s %s %s',6,'Delimiter',',');
end
for j = 1:6
for i = 1:4
if mod(j,2) == 0
A(i,j) = c{3}{i};
else
A(i,j) = c{4}{i};
end
end
end
I keep getting this error:
the size of the left side is 1-by-1 and the size of the right side is 1-by-8
This is a sample of the text file I am reading with textscan:
10,2008-02-02 13:32:03,116.44457,39.92157
10,2008-02-02 13:33:58,116.44043,39.9219
Can you tell me how to fix this? I have tried using
but it gives me the following message:
cell2mat is not supported for cell arrays containing cell arrays or objects.
0 Commenti
Risposta accettata
hosein Javan
il 11 Ago 2020
Modificato: hosein Javan
il 11 Ago 2020
the problem is with the date/time format which contains ":" and "-'. if you need matrix you can simply avoid these.
c='';
fileID = fopen('scan1.txt'); % file that contains formatted data
while ischar(c)
c = textscan(fileID,'%f,%f-%f-%f %f:%f:%f,%f,%f');
end
c = cell2mat(c)
ans =
10 2008 2 2 13 32 3 116.44 39.922
10 2008 2 2 13 33 58 116.44 39.922
2 Commenti
Più risposte (0)
Vedere anche
Categorie
Scopri di più su Logical in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!