matlab里面怎样从txt里读取全部数据放到同一个数组或者矩阵里面?

1.用getl读取每一行后怎样赋予一个数组或者一个矩阵?
2.如果用importdata ,结果的矩阵会改变原来txt的形状,也就是把txt行列不整齐的矩阵,改成整齐的矩阵了,我不要改变原来的行列。
万分感谢。
txt文件如下:
3 3 6
101 102 103 104 105 106
34.788 35.259 37.825
104 101 1.652 4.5
101 102 -0.418 3.1
105 102 0.714 3.4
102 103 1.243 3.8
106 103 -0.577 4.3
103 101 -0.786 2.5
注意,用手机跟电脑看上面的数据会不一样。除了这两种办法也可以有其他的

第1个回答  2013-04-11
矩阵的行列必须相等,LZ可以考虑一下是否可以将txt文件里的每一行数据分类放在不同的数组里,例如可能前三行长度不一,将他们分别放在data_head1 ..2 ..3里,后面的所有行数字格式一样,将他们放在data_payload里;
txt不是很大的话用importdata,然后取某些行去掉多余的0赋给新数组;
数据有十几万上百万个的话就用fgetl就好...
第2个回答  2013-04-11
矩阵肯定是整齐的。你要每行元素数目不一样的话必须用cell
aa{i}=getl (。。。)这样,i是行标号
不过cell这种数据,读取和储存都会比较慢,有可能影响效率

你说的是fgetl 吧?
要先把读出来的字符转成数字
aa{i}= str2num(fgetl (。。。))
第3个回答  2013-04-11
fnm = 'ddd.txt';
dt = textread(fnm);
A = sparse(dt) % 放入稀疏矩阵内本回答被提问者采纳
第4个回答  2013-04-11
查手册去吧。很容易的。
第5个回答  2013-04-11
百度一下吧,好像有点困难,需要用软件去处理。
相似回答