Writing a table into a text file

7 次查看(过去 30 天)
Hi
I am getting so dizzy, i wrote a code and i want to record a table named 'DI' into a text file. I follow the instructions that is given here http://www.mathworks.com/help/matlab/ref/fprintf.html , but unfortunately it writes something quite different from the original table. I doubted that the code is wrong so i used the example that is given in the above link in my code and it gives me totally right answers.
The code that i use for this text writing is
fileID=fopen('ParkAngDI11.txt','w+');
fprintf(fileID,'%6s %12s\r\n','Time','Damage Index');
fprintf(fileID,'%6.2f %12.8f\r\n',DI);
fclose(fileID);
I would be so thankful if you help me through this.
  2 个评论
Arman Kam
Arman Kam 2013-2-16
The Table contains somee numbersd that is irrelevant with the original table that exists in matlab.
some the datas from original table is
0.0100000000000000 0
0.0200000000000000 0
0.0300000000000000 0
0.0400000000000000 0
0.0500000000000000 0
0.0600000000000000 0
0.0700000000000000 0
0.0800000000000000 0
0.0900000000000000 0
0.100000000000000 0
and it the first column continues to 39.98 and second column takes some values corresponding to column one.
the data that matlab writes for me is
Time Damage Index
0.01 0.02000000
0.03 0.04000000
0.05 0.06000000
0.07 0.08000000
0.09 0.10000000
0.11 0.12000000
0.13 0.14000000
0.15 0.16000000
.
.
.
39.91 39.92000000
39.93 39.94000000
39.95 39.96000000
39.97 39.98000000
0.00 0.00000000
0.00 0.00000000
.
.
.
0.00 0.00000000
0.00 0.00000000
0.00 0.00000000
0.00 0.00000000
-0.12 -0.12093101
-0.12 -0.12093101
-0.12 -0.12093101
-0.12 -0.12093101
i really need to write these tables to text file but i don't know what is wrong!!!

请先登录,再进行评论。

采纳的回答

per isakson
per isakson 2013-2-15
编辑:per isakson 2013-2-15
My guess: column-wise. Change
fprintf(fileID,'%6.2f %12.8f\r\n',DI);
to
fprintf(fileID,'%6.2f %12.8f\r\n',transpose(DI));
  2 个评论
Arman Kam
Arman Kam 2013-2-16
Thank you so much dear Per Isakson your solution worked, Can you tell me why is this happening?!
per isakson
per isakson 2013-2-16
编辑:per isakson 2013-2-16
Column-wise is the key to understand why. fprintf reads column-wise from the input matrix and writes "row-wise" to the file controlled by the format specification. Remember: Matlab is "column-first-oriented". Try
clc
M = [ 11, 12; 21, 22 ]
disp('-- fprintf --')
fprintf( 1, '%4d,%4d\n', M )
result in the command window
M =
11 12
21 22
-- fprintf --
11, 21
12, 22
>>

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Startup and Shutdown 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by