Board logo

标题: matlab高手请进来!! [打印本页]

作者: jiejiedog    时间: 2005-12-5 22:36     标题: matlab高手请进来!!

今天数据处理的时候碰到一个问题,请高手帮助解答!
从一个测量仪器输出的一个mess.txt文件,内容为
V   A    R
1   2    4
3   4    5
如果没有第一行的字母的话,我可以直接用load函数把数据读到自定义矩阵里面去。问题现在有第一行,有什么办法能够把里面的数据提取出来,输入A里面,使得A的内容为
1   2    4
3   4    5

文档上说用fscanf可以实现,但是搞出来的结果是""''
作者: avici    时间: 2005-12-5 22:41

提示: 作者被禁止或删除 内容自动屏蔽
作者: jiejiedog    时间: 2005-12-5 22:46

能说具体点么,程序怎么写?刚接触数据处理,M用的不熟
作者: jiejiedog    时间: 2005-12-5 22:54

要求是不能改txt文件内容,也就是说上面的V,A,R不能动。因为文件有几十个,每个都删太麻烦了
作者: jiejiedog    时间: 2005-12-6 09:29

顶一下
作者: zangzang    时间: 2005-12-6 12:36

以前碰到过这样的问题,用fgetl一行一行读数据,然后可以判断每一个行的字符长度,因为第一行是作为string,至于后面的测试数据可以用str2num来转换,每行可以添加到你定义的矩阵中。
作者: zangzang    时间: 2005-12-6 12:39

刚才找到以前写的,是这样的
function matrix = readMatrix( fileName )

fid = fopen(fileName,'r');
matrix=[0 0 0];
while (~feof(fid))
    tline =fgetl(fid);
    zwischenmatrix=str2num(tline);
    if length(zwischenmatrix)== 3
        matrix=[matrix;zwischenmatrix];
    end
end
fclose(fid);

matrix=matrix(2:length(matrix),:);
作者: jiejiedog    时间: 2005-12-6 14:05

谢谢楼上的,说明aachen也不尽是水贴呵呵
作者: Ross_Geller    时间: 2005-12-6 14:29

Originally posted by jiejiedog at 2005-12-6 02:05 PM:
谢谢楼上的,说明aachen也不尽是水贴呵呵

那我们把它变成水帖吧~




欢迎光临 人在德国 社区 (http://csuchen.de/bbs/) Powered by Discuz! 7.2