4

私は次のように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 で問題を解決する方法がわかりません。

4

1 に答える 1

5

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
于 2013-03-14T07:37:23.943 に答える