Writing multidimensional array to text file with fprintf
Show older comments
I share with you some part of the code that I wrote:
for i = 45: length(time_w)
w_date_array = w_start_date + ((i-1)* time_int_w)/24;
fprintf(fid,'%s \n', datestr(w_date_array, 'yyyymmdd.HHMMSS'));
fprintf(fid, '%0.4f \t',u10(:,:,i)');
fprintf(fid, '\n');
fprintf(fid, '%0.4f\t',v10(:,:,i)');
fprintf(fid, '\n');
end
so what I get in my txt file:
19981012.000000
19981012.000000
5.3263 4.3223 1.9825 5.3291 4.0469 1.7969 5.3291 2.9290 1.2031 5.4961 2.4973 1.0461 5.7783 2.4863 0.7131
0.8126 1.6046 1.7326 1.1692 1.9758 1.7503 1.5510 1.8402 1.3870 1.8292 1.7716 1.4486 1.9328 1.7804 1.2795
But I need to get is this format:
19981012.000000
5.3263 5.3291 5.3291 5.4961 5.7783
4.3223 4.0469 2.9290 2.4973 2.4863
1.9825 1.7969 1.2031 1.0461 0.7131
0.8126 1.1692 1.5510 1.8292 1.9328
1.6046 1.9758 1.8402 1.7716 1.7804
1.7326 1.7503 1.3870 1.4486 1.2795
The size of u10 and v10 is 3*5*244 (longitude*latitude*time)
1 Comment
Walter Roberson
on 11 Jun 2023
Answers (1)
fprintf(fid, '%0.4f \t\n',u10(:,:,i)); fprintf(fid, '%0.4f\t\n',v10(:,:,i)); fprintf(fid, '\n');
Delete the transpose and add the newline in fprintf
4 Comments
abbas zoulikha
on 11 Jun 2023
Image Analyst
on 11 Jun 2023
You forgot to attach time_int_w, time_w, and U10 in a .mat file.
If you have any more questions, then attach your data and code to read it in with the paperclip icon after you read this:
abbas zoulikha
on 12 Jun 2023
abbas zoulikha
on 12 Jun 2023
Categories
Find more on Large Files and Big Data in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!