write to file in exponential notation

조회 수: 14 (최근 30일)
Maider Marin
Maider Marin 2011년 4월 2일
Iam writing a variable r to file using the following code
r= [0.000452403093670532 0.000445718222208873];
str='test.txt';
str1=['r =',mat2str(r)];
dlmwrite(str,str1,'-append', 'delimiter', '', 'precision','%-6.6e','newline', 'pc');
but no matter how I try always write it in decimal notation. I want to write it in exponential notation somenthing like
r= [4.524e-4 4.457e-4];
any help will be grately appreciated!!

답변 (3개)

Matt Fig
Matt Fig 2011년 4월 2일
Try FPRINTF instead of DLMWRITE.
  댓글 수: 1
Maider Marin
Maider Marin 2011년 4월 3일
I try this one but the formating was not easy, since I need in the file
r=[ 1st value 2nd value] and then I got r=[ 1st value r=[ 2nd value I guest I could work it out but I did not see it right away

댓글을 달려면 로그인하십시오.


bym
bym 2011년 4월 2일
how about
strl = sprintf('r = %5.4e %5.4e ',r)
  댓글 수: 1
Maider Marin
Maider Marin 2011년 4월 3일
The problem is that the real r has 2400 entries, and I do not think I can do that with this

댓글을 달려면 로그인하십시오.


Maider Marin
Maider Marin 2011년 4월 3일
Iam writing a variable r to file using the following code
r= [0.000452403093670532 0.000445718222208873];
str='test.txt';
str1=['r =',mat2str(r)];
dlmwrite(str,str1,'-append', 'delimiter', '', 'precision','%-6.6e','newline', 'pc');
I think I figure it out. The problem is with mat2str(r) I am not specifiying format, so it takes the original format and when I use dlmwrite that format does not work because it is already a string. I redo the code I got something like
r= [0.000452403093670532 0.000445718222208873];
str='test.txt';
str1=['r =',num2str(r,'%6.3e\t\t')];
dlmwrite(str,str1,'-append', 'delimiter', '','newline', 'pc');
Thanks for your answers

카테고리

Help CenterFile Exchange에서 Numeric Types에 대해 자세히 알아보기

태그

Community Treasure Hunt

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

Start Hunting!

Translated by