Сравнить два вектора в Matlab

#matlab #programming-languages #octave

#matlab #программирование-языки #октава

Вопрос:

Я думаю, этот вопрос, возможно, уже задавался раньше. Но я не смог найти правильный ответ на этом форуме.

На самом деле у меня есть 2 вектора (неодинаковой длины). Мне нужно сравнить 2 вектора. Я могу сделать это с помощью цикла for. Но это занимает очень много времени.

Какой-нибудь очевидный метод, который я, возможно, упускаю?

вот небольшой фрагмент кода:

 a=[ 1 2 3 4 5 6 7 8 1 2 3 4];
b=[ 2 3 4];
  

Как мы можем сравнить a и b. В принципе, мне нужен индекс в векторе a, когда сравнение возвращает true.

Спасибо

Комментарии:

1. Вы запрашиваете индекс в a, где b — подпоследовательность a?

2. Да, я ищу индекс в a, где b — подпоследовательность.

Ответ №1:

Для этого вы можете использовать strfind() (это работает с удвоениями):

 idx = strfind(a, b);
  

idx будет содержать индексы всех совпадений.