2012-01-30 56 views
0

我有我在for循环 我编辑它检索的数据显示发生了什么的情况下创建矩阵,我已经用你的方法试了,但它似乎适合:(如何在MATLAB

我想犯规那你的意思是:

这种格式

Date; Time; Temp °C 
05.08.2011; 11:00:47;23.75 
05.08.2011; 11:01:21;23.69 
05.08.2011; 11:01:56;25.69 
05.08.2011; 11:02:16;23.63 

代码

q{1}=1.txt; 
q{2}=5.txt; 
for j=1:2 %2 files 
    fname=q{j}; 
    fid=fopen(fname,'r'); 
    header=fgetl(fid); 
    data=textscan(fid,'%s','delimiter',';'); 
    fclose(fid); 
    data=data{:}; 
    day=data(1:3:end); 
    hour=data(2:3:end); 
    temp=str2double(data(3:3:end)); 
    n1=size(temp); 
    m = zeros(n1, j); 
    for i = 1:n1 
     m(i,j) = temp; 
    end 
end 
文本文件

现在我想创建一个大小为4x2的矩阵(4表示4个温度读数),但是当我试图循环这个,但它表示下标分配维度不匹配。

+0

这是什么语言?如果您使用语言标记标记,并且提及您使用的平台,您将有更好的答案机会。 – Janne 2012-01-30 03:49:29

回答

2
q{1}=1.txt; 
q{2}=5.txt; 
n2 = numel(q); 
m = zeros(4,n2); 
for j=1:n2 %2 files 
    fname=q{j}; 
    fid=fopen(fname,'rt'); 
    header=fgetl(fid); 
    data=textscan(fid,'%s%s%f','delimiter',';'); 
    fclose(fid); 

    day = data{1}; 
    hour = data{2}; 
    m(:,j) = data{3}; 
end