找回密码
 注册
Simdroid-非首页
查看: 426|回复: 16

【讨论】请问如何在MATLAB中进行多文件,连续读入数据?

[复制链接]
发表于 2004-4-2 20:59:33 | 显示全部楼层 |阅读模式 来自 北京
请问如何在MATLAB中进行多文件,连续读入数据?
有一系列文件,文件名如下:t1.dat、t2.dat、t3.dat、t4.dat、t5.dat等一共到t30.dat。现想将文件中的数据,读入到MATLAB中进行数据处理。如何用LOAD命令实现批量读入这一系列文件。谢谢了。
发表于 2004-4-3 09:40:39 | 显示全部楼层 来自 上海闸北区

回复: 【讨论】请问如何在MATLAB中进行多文件,连续读入数据?

Simdroid开发平台
写程序能够实现:先写一个小函数,输入文件名,输出数据。然后调用这个函数就可以了。
发表于 2004-4-3 10:22:33 | 显示全部楼层 来自 河南洛阳

回复: 【讨论】请问如何在MATLAB中进行多文件,连续读入数据?

用几个语句就行了,我曾经做过,具体如下
for i=1:30
s=[t int2str(i) '.dat'];
a=fopen(s,'r');
......
end
发表于 2004-4-4 11:04:56 | 显示全部楼层 来自 北京

回复: 【讨论】请问如何在MATLAB中进行多文件,连续读入数据?

load t*.dat
发表于 2004-4-5 09:38:51 | 显示全部楼层 来自 四川成都

回复: 【讨论】请问如何在MATLAB中进行多文件,连续读入数据?

非常感谢“tianxianl ”,建议斑竹给他加分!
 楼主| 发表于 2004-4-5 10:12:53 | 显示全部楼层 来自 北京

回复: 【讨论】请问如何在MATLAB中进行多文件,连续读入数据?

我试过了,只能用fopen,用load不可以的。
发表于 2004-4-5 20:49:42 | 显示全部楼层 来自 北京

回复: 【讨论】请问如何在MATLAB中进行多文件,连续读入数据?

如果是纯二进制文件,或纯文本文件而且里面都是数字,用load 是可以的,命令中加上文件类型,文本文件不加类型也可以,扩展名改为.txt就可以直接load
发表于 2004-4-6 16:20:28 | 显示全部楼层 来自 四川成都

回复: 【讨论】请问如何在MATLAB中进行多文件,连续读入数据?

tianxianl兄的方法管用!异想天开一下:如果能推广用在改变参数名那就真的在数据处理时,尤其是大批量数据文件处理时就真的可以说是“一劳永逸”啦!!!
发表于 2004-4-6 16:23:23 | 显示全部楼层 来自 四川成都

回复: 【讨论】请问如何在MATLAB中进行多文件,连续读入数据?

有点抽象。具体点:也就是说,要将t*.dat文件读进来,然后将其数据赋给参数t*,然后再保存成t*.mat!
发表于 2004-4-6 16:25:10 | 显示全部楼层 来自 四川成都

回复: 【讨论】请问如何在MATLAB中进行多文件,连续读入数据?

不要想着用矩阵的行列来解决哦,假设我的数据有很多很多组,矩阵的维数吃不消。
发表于 2004-4-6 20:11:10 | 显示全部楼层 来自 新加坡

回复: 回复: 【讨论】请问如何在MATLAB中进行多文件,连续读入数据?

tianxianl wrote:
用几个语句就行了,我曾经做过,具体如下
for i=1:30
s=[t int2str(i) '.dat'];
a=fopen(s,'r');
......
end

  
支持一下,我一般也是这样做的。不过那些文件名没有规律的时候,就没辙啦。
发表于 2004-4-6 20:41:29 | 显示全部楼层 来自 天津

回复: 【讨论】请问如何在MATLAB中进行多文件,连续读入数据?

用dir啊,很好用的。
stFiles = dir('*.dat');
for i = 1 : length(stFiles)
    fid = fopen(stFiles(i).name,'r');
    ......
    fclose(fid);
end
发表于 2004-4-6 20:53:25 | 显示全部楼层 来自 新加坡

回复: 回复: 【讨论】请问如何在MATLAB中进行多文件,连续读入数据?

SCIE wrote:
用dir啊,很好用的。
stFiles = dir('*.dat');
for i = 1 : length(stFiles)
    fid = fopen(stFiles(i).name,'r');
    ......
    fclose(fid);
end

  
这个方法不错。即使文件名没有规律,也不会有问题。
发表于 2004-4-7 08:43:43 | 显示全部楼层 来自 四川成都

回复: 【讨论】请问如何在MATLAB中进行多文件,连续读入数据?


save  (=[t int2str(i) '.mat'] );
load  (=[t int2str(i) '.mat'] );
可实现数据文件的动态保存与动态加载!
对于参数名称的动态变化,还没有较好的办法,期待大家的指导!
发表于 2004-4-7 17:06:13 | 显示全部楼层 来自 上海闸北区

回复: 【讨论】请问如何在MATLAB中进行多文件,连续读入数据?

其实你也可以先把文件名存成一个cellstr结构,依次提取就实现了。比如:{ ‘t2.txt'; 'xue.txt'; 'text.dat'; 'tset.v01'}
如果不够直接,可以用代码来构造这个cellstr。
发表于 2004-4-8 15:46:59 | 显示全部楼层 来自 四川成都

回复: 【讨论】请问如何在MATLAB中进行多文件,连续读入数据?

请cwit 兄,详细说明说明,最好能给出一个简单的实例让大家参考参考!
发表于 2006-6-11 08:45:31 | 显示全部楼层 来自 四川成都
原帖由 pandya 于 2004-4-4 11:04 发表
load t*.dat

同意
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|小黑屋|联系我们|仿真互动网 ( 京ICP备15048925号-7 )

GMT+8, 2024-4-24 23:07 , Processed in 0.061690 second(s), 13 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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