|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
; d% p' M# i- e4 p& N
matlab工作空间有以下数据(全是数值数据,没有字符,应该是mat格式的). t& w, S2 q8 b- m$ \2 A9 f
data3 =6 `+ r0 ~" [' c) |- Z ?3 X' I& z3 r
100 200 400 550 700" F9 D4 R$ F. e$ ~
46 99 110 160 1200 p, h) V. ?/ Z$ M. `, p
300 319 455 666 7770 j4 d$ j0 A; b! g: c' R
想将其以txt格式输出,试了几个输出函数,都存在问题。$ S# @! c7 s: I7 F: W% G
1.save save test3.txt data3 -ascii %不加-ascii则txt文件是:MATLAB 5.0 MAT-file, Platform: PCWIN, Created on:........加乱码
5 i2 y$ m. [; p! j6 q% i4 G8 C' ttxt文件中结果如下
+ ~! L% R- B) y) X% c# c6 x 1.0000000e+002 2.0000000e+002 4.0000000e+002 5.5000000e+002 7.0000000e+0022 J1 A7 D, K* I/ G$ O8 Q3 X2 k/ b1 V
4.6000000e+001 9.9000000e+001 1.1000000e+002 1.6000000e+002 1.2000000e+002
* C8 K! u6 L/ G- Q 3.0000000e+002 3.1900000e+002 4.5500000e+002 6.6600000e+002 7.7700000e+002" c3 \ q1 n" |* `# L
科学计数法啊,看着太费劲了
8 m. a5 \) C2 t+ c' o2 _3 y9 r2.dlmwrite('test3.txt',data3,'precision','%10.0f')% v6 a5 f J" z4 F/ d6 m
结果如下:/ y1 Y% C: j% ^- M$ F" r2 _) T& H
100, 200, 400, 550, 700 46, 99, 110, 160, 120 300, 319, 455, + h/ u% V6 C5 \$ N; P" c
666, 7774 q7 C* o9 U) f2 {2 Q
各列之间以逗号分隔,行之间以空分隔,显示的也不是分行显示了,看着就同样费劲+别扭。
- s; V" `* R# y; o# J+ n3.dlmwrite('test3.txt',data3,'delimiter', '\t')
2 O: c3 `0 N$ a7 q$ S结果如下5 ?% ]8 q0 ~& s; h- ]( f
100 200 400 550 70046 99 110 160 120300 319 455 666 777" L4 a2 g0 A% Y: |* ?' q I
下一行第一个数据接到了前一行最后一个数据后,虽然,用复制再粘贴到excel中,发现实际上行数是对的,但是为什么显示成这样呢' s# f& G' Y1 d2 k( b, }5 ^
附件是第三种情况的test3.txt文件) o" P+ J$ [0 O! ^, H/ W
7 [* U% ]' _/ ^$ d) e. s }各位大侠帮忙看看怎么解决- b% |! [ Y: O$ \) O
1)如果用save指令,如何不保存科学计数法?* p+ e% {" M* k! r8 P* x
2)如果用dlmwrite指令,如何显示成分行的形式?6 \- M3 ^1 X4 b. c, U$ f
或者其它指令的也可以。谢谢了!" i b0 W% ~- s* G7 g! C0 G7 z' P6 ~
在网上找了一些诸如“使用文本文件(.txt)进行数据存取的技巧总结(相当的经典)”等发现不是那么回事。另外,在我的另一个求助中,txt文件的数据中有字符数据,读取和保存,问题就更多一些了。同样希望有大侠能帮忙。 |
|