私は次のようにmatlabに行列を持っています:
1 1 1
2 2 1
3 3 0.075
12 3 0.025
4 4 1
5 5 1
6 6 1
最初の 2 列のインデックスではなく VALUE が 12,3 であると仮定すると、3 番目の列の値を見つけようとしています。次に、0.025 を出力する必要があります。ismember と find 関数を使用してみましたが、MATLAB で問題を解決する方法がわかりません。
ismember
ここでは、(1) の最初の 2 列のみを関数にフィードしA
、(2) この関数で 'rows' オプションを使用すると、正常に動作します。
A = [1 1 1
2 2 1
3 3 0.075
12 3 0.025
4 4 1
5 5 1
6 6 1]
idx = ismember(A(:,1:2), [12 3], 'rows'); % find index of valid row
A(idx, 3) % query third column of valid row
これにより、
ans =
0.0250