Как проверить, идентичны ли два вектора? Я попытался сделать это с помощью цикла for
и if
, но этот параметр не подходит для количества данных, с которыми мне нужно работать. Есть ли разумный способ сделать это? Я хотел бы создать оператор if
, который добавляет только вектор к матрице, если в моей матрице нет такого вектора.Сравните, если два вектора одинаковы
Например, если у меня есть вектор [1 2 3 1 2]
в моей матрице, я не хочу добавлять в матрицу еще один вектор [1 2 3 1 2]
.
@erfan принятого ответа говорит «' IsMember (M, v, 'строк') '». Разве вы не думаете, что 'any (ismember (M, v, 'rows'))' будет подходящим решением? Если вы можете найти индекс, вы можете проверить его наличие. * Так же, как ваш ответ здесь говорит так *. По крайней мере, не притворяйся, что это не вопиющий обман. –
@AndrasDeak Да, часть моего ответа здесь * похожа на ответ там, но, насколько я знаю, обман касается вопросов, а не ответов. На что на самом деле спрашивают OP, можно ответить с помощью 'isequal' и все. Также не связан с связанным вопросом. Но если мы обратим внимание на детали вопроса, можно объяснить больше, чем объяснено (и хорошо объяснено) в связанном вопросе. – erfan
@erfan не всегда конструктивно, чтобы быть чрезмерно аналитическими о дубликатах, если ответы, принятые/принятые, решают вопрос с минимальной дополнительной функцией мозга.В простых вопросах, подобных этому, подходящий дубликат может предотвратить появление некачественных ответов, подобных грибам ... отчасти это и произошло здесь. Я считаю, что 'ismember' связанного дубликата решает проблему XY OP (X =", если матрица содержит вектор ", Y =", как я могу проверить равенство на два вектора? "). Что полезно для будущих читателей (и так для SO) - это показать, как проблемы * должны быть решены. –