0

おはよう/午後〜

Hサイズが 6800x3のマトリックスがあります。行列全体で [col 1 = Aand col 2 = ] の列 3 のすべての値を見つける必要があります。B列 1 と列 2 のすべての組み合わせ。

ループを介して値を見つけるにはどうすればよいですか?

[M N]= size(H);  %M = 6800, N = 3
x = H(:,1);     % column 1
y = H(:,2);     % column 2
z = H(:,3);     % column 3
for i= 1:M 
    if H(M:1)==A && H(M:2)==B  %for every combination of x and y
    Output=Z(M,3);                %Output all value of Z 
end

どんな助けでも大歓迎です。=D

ありがとう〜

例えば、

H = [1 2 1 ;...
     1 2 3 ;...
     2 2 5 ;...
     1 2 8 ]

A=1、B=2、

z = [1 3 8]

このようなもの..

4

2 に答える 2

0

私の理解が正しければ、列 1 と 2 でグループ化する必要があります。これを行う 1 つの方法を次に示します。

H = [1 2 1 ;...
     1 2 3 ;...
     2 2 5 ;...
     1 2 8 ;...
     2 2 9];

[~, I, J] = unique(H(:, 1:2), 'rows');
result = accumarray(J, (1:length(J))', [], @(x) {H(x, :)});

結果は次のようになります。

>> result{:}

ans =

     1     2     3
     1     2     8
     1     2     1


ans =

     2     2     9
     2     2     5
于 2013-04-12T08:41:42.233 に答える