如何在MATLAB中创建矩阵

时间:2012-01-30 03:34:23

标签: matlab

我遇到过在for循环中检索数据的情况 我正在编辑它以显示发生了什么,我尝试使用你的方法,但它似乎不合适:(

我认为你的意思是:

具有此格式的文本文件

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个温度读数),但是当我尝试循环这个但是它表示订阅的赋值维度不匹配时。

1 个答案:

答案 0 :(得分: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