[讨论] 请问textscan用法

楼主: profyang (prof)   2019-03-24 18:52:03
本来matlab读档都写得很随意(用fgetl之类的一行行读)
据说大档案但有规律的用textscan读起来蛮快的
但我的档案内容类似这样:
0: 0
1.55853637077072
1.55853643267316
1.55853630886829
1.55853624696587
-0.00134146529463404
1
1: 1e-13
1.55853637077072
1.55853643267316
1.55853630886829
1.55853624696587
-0.00134146529463405
1
2: 2e-13
1.55853637077072
1.55853643267316
1.55853630886829
1.55853624696587
-0.00134146529463405
2
总之应该可以看出就是0:开头到1:前一行是一组
1:到2:前一行又是一组 以上共是3组
而我面对的档案总共有至少上万组甚至十万组要读
这样要怎么写比较好?直接textscan(fid,'%f')的话卡了个0:和1:这种东西
想把':'和'\n'换行符号都当成delimiter好像也不让我这样写:
textscan(fid,'%f','delimiter',{':','\n'})
又不想一行行fgetl之类的判断然后读 有没有比较好的写法呢?谢谢!
作者: book5601 (苍澜野兽)   2019-03-24 23:26:00
你的档案来源如果是自己写的程式跑出来的值,就直接该改程式码变成好读不就好了。如果不是,我可能会直接Ctrl+H取代不要的符号哈哈哈(赶时间的做法
作者: physbook (路克)   2019-03-25 08:00:00
法1. 先用文字编辑器把换行符号取代成自订的分隔符号法2. 搭配循环读各组的值

Links booklink

Contact Us: admin [ a t ] ucptt.com