convert the table to matrix
조회 수: 55 (최근 30일)
이전 댓글 표시
Hi,
I used the below command and it read the dat files as a table (1x1500 cell) and each cell include (65536x4 table)
for k = 1:1500
myfilename = sprintf('Vec%05d.dat', k);
mydata{k} = readtable(myfilename);
end
then I tried to convert the table to matrix, but it doesn't work, could you please correct it to me?
for k = 1:1500
mydata1(:,:,k)= table2array(mydata{:,k})
end
my aim is to get a matrix of mydata1 with size 256x256x1500
thanks in advance
댓글 수: 3
Walter Roberson
2023년 12월 5일
Do you need the intermediate tables to be stored for some reason, or do you just need the final array?
Is there a reason you are using readtable() instead of readmatrix() ?
채택된 답변
Walter Roberson
2023년 12월 5일
N = 1500;
%we proceed in two steps.
%we read one array
for k = 1
myfilename = sprintf('Vec%05d.dat', k);
mydata1 = readmatrix(myfilename);
end
%and that tells us how much data is in each file.
%Now we extend array efficiently. Doing a single
%array extension like this is a heck of a lot faster
%than growing the array each iteration
mydata1(end,end,N) = 0;
%now read the rest of the files
for k = 2:N
myfilename = sprintf('Vec%05d.dat', k);
thisdata = readmatrix(myfilename);
mydata1(:,:,k) = thisdata;
end
%we have all of the data
%reshape it.
%we assume 256 rows but we do not assume columns
mydata1 = reshape(mydata1, 256, [], size(mydat1,2), size(mydata1,3));
댓글 수: 0
추가 답변 (1개)
Sulaymon Eshkabilov
2023년 12월 5일
I believe as Madhan pinpointed that you data size should be 256x256x4x1500. Here is the final code:
for k = 1:1500
myfilename = sprintf('Vec%05d.dat', k);
mydata{k} = readtable(myfilename);
mydata1(:,:,k)= table2array(mydata{:,k})
end
%% Final conversion after collecting all data from the files into an ARRAY
MY_data_OK = reshape(MY_data, [256, 256, 4, 1500]);
댓글 수: 1
Mohamed
2023년 12월 5일
Actually, I am not sure that: mydata1(:,:,k)=table2array(mydata{:,k})
This command worked for a day without stopping. So I could you please tell me where is the mistake because I think it is just a loop
참고 항목
카테고리
Help Center 및 File Exchange에서 Logical에 대해 자세히 알아보기
제품
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!