找回密码
 注册
关于网站域名变更的通知
查看: 502|回复: 3
打印 上一主题 下一主题

Matlab是怎样将数据输出为txt文件的?请大神教我

[复制链接]
  • TA的每日心情

    2019-11-19 15:32
  • 签到天数: 1 天

    [LV.1]初来乍到

    跳转到指定楼层
    1#
    发表于 2020-4-1 10:34 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

    EDA365欢迎您登录!

    您需要 登录 才可以下载或查看,没有帐号?注册

    x
    ) r. c+ L- U8 ?% [1 |: g
    matlab工作空间有以下数据(全是数值数据,没有字符,应该是mat格式的)
    1 p9 p0 o4 H. H. ?. ^data3 =( u; b$ X& b: m3 [
       100   200   400   550   7002 ~& t) k, h6 r, d# E
        46    99   110   160   1202 g% S( M, _$ u$ Y6 Z; v, _' I( h1 M6 @
       300   319   455   666   777( q2 t5 B. Z! F4 ]" o# I
    想将其以txt格式输出,试了几个输出函数,都存在问题。
    / S4 i, [$ d% _+ P4 U: V0 Y* ~1.save save test3.txt data3 -ascii    %不加-ascii则txt文件是:MATLAB 5.0 MAT-file, Platform: PCWIN, Created on:........加乱码
    4 M0 L1 a: V9 l; D, _txt文件中结果如下
    4 ]3 ]) s" r$ ?+ ^1 ^4 R  1.0000000e+002  2.0000000e+002  4.0000000e+002  5.5000000e+002  7.0000000e+002' t+ b& q2 w' \5 T5 |
      4.6000000e+001  9.9000000e+001  1.1000000e+002  1.6000000e+002  1.2000000e+002
    - S5 u" C8 w! e6 `5 Q2 {  3.0000000e+002  3.1900000e+002  4.5500000e+002  6.6600000e+002  7.7700000e+0029 E$ O% {7 z% R8 B& `0 Q# v/ N
    科学计数法啊,看着太费劲了
    8 s: [' j/ ]9 W; x% z. }2.dlmwrite('test3.txt',data3,'precision','%10.0f')* r0 e1 `$ f# C. u: \4 }
    结果如下:  O3 h' s, f0 M, ^
             100,       200,       400,       550,       700        46,        99,       110,       160,       120       300,       319,       455,       3 T: j' `; x$ b1 I7 p0 C9 n0 @
    666,       777* C! X# h, C! H+ W, l" A; ~8 y
    各列之间以逗号分隔,行之间以空分隔,显示的也不是分行显示了,看着就同样费劲+别扭。- u! E8 k1 A2 C
    3.dlmwrite('test3.txt',data3,'delimiter', '\t')
    / w3 P0 ^6 n  m6 W2 ^' S结果如下. M; D5 \6 T- ~- s8 q
    100 200 400 550 70046 99 110 160 120300 319 455 666 777& \1 i' T- R' C$ y% X0 y( R1 Q, Z
    下一行第一个数据接到了前一行最后一个数据后,虽然,用复制再粘贴到excel中,发现实际上行数是对的,但是为什么显示成这样呢
    ! r" d- n6 z3 b3 k5 @1 P% w( ]附件是第三种情况的test3.txt文件- m- j: ?3 q$ ^% W* Y2 f$ p

    , S. ^, i7 J! v. s! U* C各位大侠帮忙看看怎么解决. |) U; {: q( ?2 H, y2 D3 C
    1)如果用save指令,如何不保存科学计数法?
    ; w0 M" g' z! ]4 f2 d8 W2 g1 A8 V# k2)如果用dlmwrite指令,如何显示成分行的形式?) v/ f! i2 b0 E# c1 X4 N
    或者其它指令的也可以。谢谢了!! S" ?# T; q) D+ H) H) V- U& f' l
    在网上找了一些诸如“使用文本文件(.txt)进行数据存取的技巧总结(相当的经典)”等发现不是那么回事。另外,在我的另一个求助中,txt文件的数据中有字符数据,读取和保存,问题就更多一些了。同样希望有大侠能帮忙。0 }$ \# Q5 X1 b' E8 V

    该用户从未签到

    2#
    发表于 2020-4-1 17:43 | 只看该作者
    我一般都用fopen1 C3 j4 ]! `6 }5 |1 Q; S) `, L
    fid1=fopen('simu_ve.txt','w');                                                       %%%%需要改文件名称的地方
    # [. S& t8 }9 R1 w! U5 c! R8 [count=fprintf(fid1,' %f \r',ve');                                                       %%%%ve:需要导出的数据名称

    该用户从未签到

    3#
    发表于 2020-4-1 17:44 | 只看该作者
    'simu_ve.txt'就是导出的txt文件名
  • TA的每日心情

    2019-11-29 15:37
  • 签到天数: 1 天

    [LV.1]初来乍到

    4#
    发表于 2020-4-1 17:44 | 只看该作者
    程序的第一句是说生成一个'simu_ve.txt'的txt文本,第二句是说把ve这个数据输入到'simu_ve.txt'这个文本里
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    关闭

    推荐内容上一条 /1 下一条

    EDA365公众号

    关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

    GMT+8, 2025-11-24 00:53 , Processed in 0.156250 second(s), 23 queries , Gzip On.

    深圳市墨知创新科技有限公司

    地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

    快速回复 返回顶部 返回列表