for循环用于大矩阵

时间:2017-03-27 09:52:06

标签: matlab for-loop matrix

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

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

例如,我想要在1月1和时间0对应的元素(来自第5列)。然后是在1月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

1 个答案:

答案 0 :(得分:0)

这是一个代码:

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);

...享受