Display of data side by side

4 views (last 30 days)
Hi,
I have an output in txt file(notepad) which is displaying all in a single row, instead I want them side by side, following is the code I am using right now:
x1='TORQUE:';
dlmwrite('LTM.txt',x1,'delimiter','','-append','newline','pc');
dlmwrite('LTM.txt',Yout,'-append','newline','pc');
y1='ENGINE SPEED:';
dlmwrite('LTM.txt',y1,'delimiter','','-append','newline','pc');
dlmwrite('LTM.txt',temp2,'-append','newline','pc');
z1='DURATION:';
dlmwrite('LTM.txt',z1,'delimiter','','-append','newline','pc');
dlmwrite('LTM.txt',temp3,'-append','newline','pc');
dlmwrite('LTM.txt',Yout,'delimiter','\t');
Attached is the output file

Accepted Answer

Walter Roberson
Walter Roberson on 21 Aug 2018
dlmwrite() adds the line terminator at the end of the last line that you write. When you -append on the next call, it appends to the end -- which is to say after that line terminator.
dlmwrite() cannot be used to append columns to an existing text file. Not even if you use the range inputs: the range input creates a zero-padded matrix and writes or appends that.
You will probably need to use fopen()/fprintf()/fclose() to get the file you want.
  2 Comments
raghavendra kandukuri
raghavendra kandukuri on 22 Aug 2018
Thank you Walter, this one works.
abc=[Yout,temp2]
fileID = fopen('LTM.txt','w');
fprintf(fileID,'%3s %12s %12s\r\n','Torque','EngineSpeed','Duration');
fprintf(fileID,'%6.2f %12.2f\r\n',transpose(abc));
fclose(fileID);
raghavendra kandukuri
raghavendra kandukuri on 22 Aug 2018
https://www.mathworks.com/matlabcentral/answers/63621-writing-a-table-into-a-text-file#answer_75217

Sign in to comment.

More Answers (0)

Tags

Community Treasure Hunt

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

Start Hunting!