Display of data side by side

4 vues (au cours des 30 derniers jours)
raghavendra kandukuri
raghavendra kandukuri le 21 Août 2018
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

Réponse acceptée

Walter Roberson
Walter Roberson le 21 Août 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 commentaires
raghavendra kandukuri
raghavendra kandukuri le 22 Août 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 le 22 Août 2018
https://www.mathworks.com/matlabcentral/answers/63621-writing-a-table-into-a-text-file#answer_75217

Connectez-vous pour commenter.

Plus de réponses (0)

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by