Сравнивая две матрицы - PullRequest
       16

Сравнивая две матрицы

0 голосов
/ 15 апреля 2020

Я пытаюсь найти в матрице C заданные c векторы строк, в которых он равен заданному c значению в B. Я пытался сделать это различными способами, и я не получить результаты, которые имеют смысл. До сих пор я использовал find, которая возвращает пустой дубль. Я также пытался использовать вложенное значение для l oop, чтобы определить, когда происходит эквивалентность. Ни работа. Я не уверен, что я делаю неправильно. Я приложил соответствующий код. Обе матрицы являются классом double. Я чувствую, что это должно быть очень просто. Я действительно понятия не имею, почему это не работает, я использовал подобные логи c раньше. C = 32261x2: Двойной и B = 2x1: Двойной

Лучший, -A

Версия 1:

for ii = 1:size(B,1)
    bars = find(C(:,2) == B(ii));
end

Версия 2:

for mm = 1:size(B,1)
    increment = 0;
    yl = [];
    for nn = 1:size(C,1)
        if isequal(C(nn,2),B(mm))
            increment = increment + 1;
            bars(increment,:) = C(nn,:);
        end
    end
    MEST{mm} = bars;     
end
...