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

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

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

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

    [LV.1]初来乍到

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

    EDA365欢迎您登录!

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

    x
    ( j. u3 E: n( y3 f5 }4 k9 Z* B- b
    matlab工作空间有以下数据(全是数值数据,没有字符,应该是mat格式的)
    , M5 ]7 K2 a. Q# adata3 =
    8 @0 U! M5 H) \* d/ K4 M   100   200   400   550   700" H( f$ E  ]1 ~- l/ C
        46    99   110   160   120
    , |5 A8 d( t* c6 Y   300   319   455   666   7770 a' ]+ q' _  q$ x
    想将其以txt格式输出,试了几个输出函数,都存在问题。1 ]! e" X$ v% x: d: \& S
    1.save save test3.txt data3 -ascii    %不加-ascii则txt文件是:MATLAB 5.0 MAT-file, Platform: PCWIN, Created on:........加乱码! [/ C& c! [* q8 \) S4 S
    txt文件中结果如下
    5 K* `% E% s3 u/ ~$ S, M& w7 r  1.0000000e+002  2.0000000e+002  4.0000000e+002  5.5000000e+002  7.0000000e+002
    ; p; i8 B$ a  d4 T8 c- O+ V  4.6000000e+001  9.9000000e+001  1.1000000e+002  1.6000000e+002  1.2000000e+002
    ; y! R5 P) k" P! l+ X5 u  3.0000000e+002  3.1900000e+002  4.5500000e+002  6.6600000e+002  7.7700000e+0027 Q/ e) w0 a0 F8 R5 ^) \* U
    科学计数法啊,看着太费劲了0 ?& Y8 T9 D4 T# a& p4 Y& y
    2.dlmwrite('test3.txt',data3,'precision','%10.0f')( t6 \6 n! s( l5 U0 ]- J1 \
    结果如下:3 \' J, t* v" Z. Q, c5 J+ J
             100,       200,       400,       550,       700        46,        99,       110,       160,       120       300,       319,       455,      
    & p$ }5 b+ _8 y  U' Q666,       777# U" |7 u, @) u
    各列之间以逗号分隔,行之间以空分隔,显示的也不是分行显示了,看着就同样费劲+别扭。! m4 [; @# N% F- H* E
    3.dlmwrite('test3.txt',data3,'delimiter', '\t')+ Y' J3 r, c; Z4 x9 L+ ]8 F
    结果如下1 g" P/ E- c  j5 Y' b1 u4 f
    100 200 400 550 70046 99 110 160 120300 319 455 666 777) f$ r; G+ Z" g
    下一行第一个数据接到了前一行最后一个数据后,虽然,用复制再粘贴到excel中,发现实际上行数是对的,但是为什么显示成这样呢
    % D/ U& K! N! _7 f3 H; D附件是第三种情况的test3.txt文件: r1 a- ]% f5 r. L; p1 B4 ?# z) R

    * w7 d% d) F0 M2 m3 t. d' _各位大侠帮忙看看怎么解决# S3 t$ a+ E" _8 h9 ?
    1)如果用save指令,如何不保存科学计数法?: U6 K: N8 e' x+ n/ W/ B
    2)如果用dlmwrite指令,如何显示成分行的形式?( G( h: `8 Z, H$ c
    或者其它指令的也可以。谢谢了!
    ! z& Y$ J" x) M2 n" B9 T在网上找了一些诸如“使用文本文件(.txt)进行数据存取的技巧总结(相当的经典)”等发现不是那么回事。另外,在我的另一个求助中,txt文件的数据中有字符数据,读取和保存,问题就更多一些了。同样希望有大侠能帮忙。; h6 Y# y1 ~% o3 g

    该用户从未签到

    2#
    发表于 2020-4-1 17:43 | 只看该作者
    我一般都用fopen2 Q  y1 p! L  p* Q. a# p) P  w
    fid1=fopen('simu_ve.txt','w');                                                       %%%%需要改文件名称的地方; Z, g8 c0 u4 P6 @8 N7 i
    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-10-6 20:50 , Processed in 0.140625 second(s), 23 queries , Gzip On.

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

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

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