蓝莲花000 发表于 2012-3-26 21:42

数据导入问题(如何把txt导入mat中)

1.860936 -0.207383
1.891651 -0.193249

1.939205 -0.239664
1.717517 -0.218572
0.217119 -0.228186

-0.156232
-0.412961
0.164607 -0.323267
-0.210105 0.098098
这里有一组小数据,存在tmp.txt文件中,现在想把他们导入mat文件中,而且导入mat以后,依然保留他们之间的空行。以下是我的程序
pwd;
fil=fopen('tmp.txt');

b=[];
while 1
    a=fgetl(fil);
   if ~ischar(a),break,end
      disp(a);
    b=;
   
end
fclose(fil)
这个程序,导入数据和直接import data没有区别,在mat中没有保留空行。请问如何改进才能保证空行保留在mat中呢?

ChaChing 发表于 2012-3-27 01:03

1.好奇问下, 为何要保留空行, 有何用途
2.何谓空行?? double array裡头可以有空行吗?
3.一定要用double array吗?

蓝莲花000 发表于 2012-3-27 19:24

回复 2 # ChaChing 的帖子

所有的数据是一组大样本,空行隔开,分成许多小样本,要计算每个小样本的协方差,导入的数据如果全部连在了一起,就区分不了小样本了。

ChaChing 发表于 2012-3-28 01:51

回复 3 # 蓝莲花000 的帖子

建议考虑使用cell或struct
或考虑不必一次导入(边导入边处理), 或使用3-D array ...
依LZ实际问题取决

蓝莲花000 发表于 2012-3-28 09:28

回复 4 # ChaChing 的帖子

“当matlab 一行一行的读时,要么读到字符串,要么读到‘ ’,读到字符串就叠加在一个矩阵里,直到读到读到‘ ’,此时立马输出该矩阵为一个样本,然后再重复这一过程,直到文末”这样的过程怎么完成呢?如果不用cell或struct,cell有个问题,导入到mat中后不是数值型,还有有个转换,但是好像没有cell2num。本人菜鸟,不知能否详细指点,非常感谢!

ChaChing 发表于 2012-3-30 00:42

重申下double array裡头可以有空行吗? 个人水平有限, 真没能完全看懂LZ要的!
猜想LZ的疑点在is*的使用, LZ逐步试试下并比较其差异
还有LZ资料的分隔请自行确定是空白(char)或回车
>>

ans =

   1   1   1

>>

ans =

   0   1   0

>>

ans =

   0   1   1

结果显示
1.不管数字,空白或回车, ischar都为成立, 所以无法判别差异
2.若是回车, isempty可以判别与数字的差异
3.不管空白或回车, isempty(str2num可以判别与数字的差异

hwcao_Love 发表于 2012-3-31 10:06

..同样的疑问求解

ChaChing 发表于 2012-3-31 13:16

hwcao_Love 发表于 2012-3-31 10:06 static/image/common/back.gif
..同样的疑问求解

6F有没试过? 解释不够清楚? 没释疑吗?:@)

twb0624 发表于 2012-7-19 08:34

水平不足,无法讨论啊。
页: [1]
查看完整版本: 数据导入问题(如何把txt导入mat中)