|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
# t& ^0 y. |( H Q( p
matlab工作空间有以下数据(全是数值数据,没有字符,应该是mat格式的), n4 k1 b/ S7 o, c
data3 =% z% L# H# d/ x- I8 O7 p' w. M9 i
100 200 400 550 700! Q8 z( Q- Z: N* I$ E1 _9 Q
46 99 110 160 120
" R( a9 y0 {) S! B& X- @ 300 319 455 666 777
8 M4 u( @3 E& R$ l2 w5 f想将其以txt格式输出,试了几个输出函数,都存在问题。6 J8 n% | O# o; e' E
1.save save test3.txt data3 -ascii %不加-ascii则txt文件是:MATLAB 5.0 MAT-file, Platform: PCWIN, Created on:........加乱码
+ T5 _. o# y; J# ]1 \2 g" Rtxt文件中结果如下
% j/ B5 s3 k8 y+ E 1.0000000e+002 2.0000000e+002 4.0000000e+002 5.5000000e+002 7.0000000e+0024 Z$ J+ e# f9 @- V* m' ]
4.6000000e+001 9.9000000e+001 1.1000000e+002 1.6000000e+002 1.2000000e+002
8 [7 I% q/ W! U+ U9 R' z 3.0000000e+002 3.1900000e+002 4.5500000e+002 6.6600000e+002 7.7700000e+002
8 I" ]6 N' E* f( U科学计数法啊,看着太费劲了
4 S) } i) j3 N0 ~/ ^0 {2.dlmwrite('test3.txt',data3,'precision','%10.0f')# s6 V! a8 G) F; }' ~' c
结果如下:# G; V8 S4 ^' q9 J5 V: y1 {! j7 i
100, 200, 400, 550, 700 46, 99, 110, 160, 120 300, 319, 455, + A" p) F5 O' P7 e! V% j$ z4 ]( M! q
666, 7771 w7 K+ D- a% Q
各列之间以逗号分隔,行之间以空分隔,显示的也不是分行显示了,看着就同样费劲+别扭。5 }. C2 J U2 g5 L# R( F
3.dlmwrite('test3.txt',data3,'delimiter', '\t')8 S0 P Q/ Z# X7 B E
结果如下
+ W. w3 q& E' k( ?9 G1 m100 200 400 550 70046 99 110 160 120300 319 455 666 777+ H8 x8 q0 u* r9 \; s' `7 z
下一行第一个数据接到了前一行最后一个数据后,虽然,用复制再粘贴到excel中,发现实际上行数是对的,但是为什么显示成这样呢
3 { Z& w/ q" [" E, ~4 w附件是第三种情况的test3.txt文件* \+ M& \6 }/ X3 @- W& p! |0 i' l
|* u' |# g1 h9 l( l* A, o
各位大侠帮忙看看怎么解决" s9 p1 `# |' k$ R% v
1)如果用save指令,如何不保存科学计数法?' S! I, n! f9 x3 b0 E9 H
2)如果用dlmwrite指令,如何显示成分行的形式?
; j8 v. Z9 E8 y3 P或者其它指令的也可以。谢谢了!
$ J, K7 {) g+ r1 j在网上找了一些诸如“使用文本文件(.txt)进行数据存取的技巧总结(相当的经典)”等发现不是那么回事。另外,在我的另一个求助中,txt文件的数据中有字符数据,读取和保存,问题就更多一些了。同样希望有大侠能帮忙。 |
|