【问题标题】:for-loop for a big matrix大矩阵的for循环
【发布时间】:2017-03-27 09:52:06
【问题描述】:

我有一个矩阵 ALL,即 94968x8。

在第 2 列我有几个月 (1-12),在第 4 列我有小时 (0-23)。 所以,我想用第 5 列中的元素创建新矩阵 (B)。

例如,我想要对应于一月 1 和时间 0 的元素(来自第 5 列)。然后是对应于一月1 和时间1 等的元素。这适用于所有月份和所有时间。

我有这个程序

MONTH_COL_NUM = 2;

HOUR_COL_NUM = 4;

SELECT_COL = 5;

B = ALL(ALL(:,MONTH_COL_NUM) == 1 & ALL(:,HOUR_COL_NUM) == 0, SELECT_COL);

但我不知道如何正确使用'for'

My Matrix

【问题讨论】:

  • 如果你已经有一个包含所有组合的矩阵,看起来你只需要对它进行排序。然后您将按时间顺序排列这些行。

标签: matlab for-loop matrix


【解决方案1】:

这里有一个代码:

featureAVal = 1; %<! Month
featureACol = 2;
featureBVal = 0; %<! Hour
featureBCol = 5;

vFeatureAIdx = mA(:, featureACol) == featureAVal;
vFeatureBIdx = mA(:, featureBCol) == featureBVal;

vSelectedRows = vFeatureAIdx & vFeatureBIdx;

mB = mA(vSelectedRows, 5);

享受...

【讨论】:

    猜你喜欢
    • 2016-08-21
    • 1970-01-01
    • 2019-09-08
    • 1970-01-01
    • 1970-01-01
    • 2011-09-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多