Problem with dlmwrite writeing a tensor in a csv file
1 view (last 30 days)
Show older comments
Hi guys,
I need to save a tensor in a file..I'm using this solution:
n=268;
m=4381;
d=7;
dati_orig=zeros(n,m,p);
for i=1:n
for j=1:m
for k=1:p
dati_orig(i,j,k)=dati_copia(i,j,k);
end
end
end
fid2 = fopen('dati_orig.csv','w');
for k=1:p
ele=xmat_orig(:,:,k);
dlmwrite('dati_orig.csv', ele, '-append' )
dlmwrite('dati_orig.csv', ' ' ,'-append' )
end
fclose(fid2);
where dati_copia is the tensor to save. The tensor must to be wrote in the file in this manner:
1 2 3 \\ % \\ is equal to \n newline 4 5 6 \\ 7 8 9 \\ %a blank row 10 11 12 \\ 13 14 15 \\ 16 17 18 \\ ......
This code works fine because with a small tensor it's ok. But I'm writing a tensor of dimensions 268x4381x7 and between each slice there is not a blank line as I want. The csv file must to have 1888 lines but the file has only 1882 rows. Can someone help me? Is it the wrong code? Thanks. giuseppe
0 Comments
Answers (2)
Amit
on 25 Jan 2014
Edited: Amit
on 25 Jan 2014
Try this:
% fid2 = fopen('dati_orig.csv','w');
for k=1:p
% ele=xmat_orig(:,:,k);
dlmwrite('dati_orig.csv', dati_orig(:,:,k), '-append' )
dlmwrite('dati_orig.csv', ' ' ,'-append' )
end
% fclose(fid2);
BTW, if you're trying to save dati_copia, why copy it again exactly the same. Also, what is xmat_orig because this is what you're writing in the csv file in your code.
0 Comments
See Also
Categories
Find more on Data Import and Export in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!