【发布时间】:2016-07-01 00:06:45
【问题描述】:
我正在努力优化一段代码。 我将不得不处理许多数字(数百万)并且我的代码运行缓慢。 假设我们有 3x3 矩阵:
A = [ 8 1 6; 3 5 7; 4 9 2 ];
我想知道区间 [0, 3), [3, 6) 和 [6, 9) 中有多少个元素。因此,我需要一个 1x3 矩阵:
p = [ 2 3 4 ];
我的代码是:
p = zeros(1, 3);
for i = 1 : 9
p( floor(A / 3) + 1 ) += 1;
我想不使用 for 循环,但是代码:
p = zeros(1, 3);
p( floor(A / 3) + 1 ) += 1;
输出:
p = 1 1 1
任何想法为什么?我该如何纠正这个问题?
【问题讨论】:
标签: arrays matlab indexing octave