【问题标题】:How to create matrix in MATLAB如何在 MATLAB 中创建矩阵
【发布时间】:2012-01-31 07:37:47
【问题描述】:

我遇到了在 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 个温度读数),但是当我尝试循环它时,它却显示下标分配尺寸不匹配。

【问题讨论】:

  • 这是什么语言?如果你用语言标记它并提及你使用的平台,你将有更好的机会得到一个好的答案。

标签: matlab


【解决方案1】:
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

【讨论】:

    猜你喜欢
    • 2018-08-10
    • 2014-06-04
    • 1970-01-01
    • 2016-03-08
    • 2011-05-09
    • 2015-11-24
    • 1970-01-01
    • 2014-04-16
    • 1970-01-01
    相关资源
    最近更新 更多