while writing txt file variables/data are shown in one column instead of being different column

3 views (last 30 days)
Dear all,
While writing a txt file of dataset, though in work space I see output like L(as I need) but in the txt file, it shows like output of P. My code is also attached.
b = [1,2,3,4];
c = [3,2,4,5];
L = [b c] output(L) = [1,2,3,4, 3,2,4,5]
P = [b;c] output(P) = [1,2,3,4]
[3,2,4,5]
"Code:.
..
.
File = [Y, time_sec, B, GSE, BGSE, VxSE, VySE, VzSE, Density, Temp];
fileID = fopen('Alldata.txt','w');
nbytes = fprintf(fileID,'%12.5f %18.8f %12.5f %12.5f %12.5f %12.5f %12.5f %12.5f %12.5f %12.5f \r\n',File);
fclose(fileID)"

Answers (1)

Voss
Voss on 17 Apr 2022
When you fprintf a matrix, MATLAB prints the elements in order of: first column first, followed by the second column, and so on:
M = magic(3)
M = 3×3
8 1 6 3 5 7 4 9 2
% M(1,1) M(2,1) M(3,1) \n
% M(1,2) M(2,2) M(3,2) \n
% M(1,3) M(2,3) M(3,3) \n
fprintf('%d %d %d\n',M)
8 3 4 1 5 9 6 7 2
To get the elements printed in order of first row first, then second row, etc., transpose the matrix:
% M(1,1) M(1,2) M(1,3) \n
% M(2,1) M(2,2) M(2,3) \n
% M(3,1) M(3,2) M(3,3) \n
fprintf('%d %d %d\n',M.')
8 1 6 3 5 7 4 9 2

Categories

Find more on Structures 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!