矩阵维度和find
函数存在问题。
对于每一行,我试图找到与该值大于20相关的索引,并将结果存储在另一个矩阵中。
例如:
A = [
10 21 30
1 40 50
1 0 0
50 10 3];
index =
2 3
2 3
0
1
有什么建议吗?
答案 0 :(得分:5)
使用find
和accumarray
>> [r c] = find( A > 20 );
>> index = accumarray( r, c, [], @(x) {x} )
index =
[ 2, 3 ]
[ 2, 3 ]
[]
[ 1 ]
请注意index
是一个酒窖。
答案 1 :(得分:2)
您的输出必须采用该格式吗?这很简单:
[row,col] = find(A > 20);
答案 2 :(得分:2)
你真的需要指数吗?如果不是:
>> 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