我对矩阵维度和find
函数有疑问。
对于每一行,我试图找到与大于 20 的值相关的索引并将结果存储在另一个矩阵中。
例如:
A = [
10 21 30
1 40 50
1 0 0
50 10 3];
index =
2 3
2 3
0
1
有什么建议么?
使用find
和accumarray
>> [r c] = find( A > 20 );
>> index = accumarray( r, c, [], @(x) {x} )
index =
[ 2, 3 ]
[ 2, 3 ]
[]
[ 1 ]
请注意,这index
是一个单元阵列。
你真的需要索引吗?如果不:
>> A = [
10 21 30
1 40 50
1 0 0
50 10 3];
>> A>20
ans =
0 1 1
0 1 1
0 0 0
1 0 0
你的输出必须是那种格式吗?这很简单:
[row,col] = find(A > 20);