è®°äºæ¬ä¸ææ¬å 容å¦ä¸ï¼
解çï¼
oldf = 'd:\matlabwork\oldf.txt';
dt = textread(oldf);
dd = dt(:,1);
newf = 'd:\matlabwork\newf.txt';
save(newf,'dd','-ascii'); % å为ææ¬æ件
é»è®¤ç²¾åº¦åªè½å°å°æ°ç¹å两ä½ï¼å¦æè¦è¾¾å°åæ¥çæå
ä½å°æ°å¯ä»¥è¿æ ·åï¼
% è¦å¢å 精度å '-double'
save(newf,'dd','-ascii','-double');
ç±äºdouble精度太å¤äºï¼åæ 6.3467453393499996e+005äºï¼åå¦åæ¥çé£ä¹å¤ä½å°±å¥½ï¼è¦æä¹å¼å¢ï¼å¯ä»¥è¿ä¹å
å¦ä¸ï¼
dlmwrite(newf, dd, 'delimiter', ' ', 'precision', '%6.6f', 'newline', 'pc')
能够直接给代码么~~~我不懂matlab,你说的这些我都不明白呢。谢谢~
请问精度只能到小数点后两位吗?可是原来的有六位小数呢!
追答% 要增加精度加 '-double'
save(newf,'dd','-ascii','-double');
double精度太多了,变成 6.3467453393499996e+005了,我要保持原来的那么多位就好,该怎么弄呢?
追答dlmwrite(newf, dd, 'delimiter', ' ', 'precision', '%6.6f', 'newline', 'pc')
本回答被提问者和网友采纳