2016-01-21 4 views
-1

у меня есть:Нахождение первых индексов элементов одного массива в другой

A=[3 4 5 6 7;1 0 3 5 9;1 8 10 11 12]; 

B=[1 0 5 5 9 ]; 

Я хочу найти B в A, но, как это:

  • найти первый РОЗА значения 1 (от B)
  • найти первый Rowa значения 0 (от B)
  • найти первый Rowa значения 5 (из B)

я должен иметь в конце C=[2 2 1 2 2]

for i = 1:length(B) 
    index(i) = find(A(:,i) == B(i),1) 
end 

error: Improper assignment with rectangular empty matrix. 
+0

извините! Я пробовал это: для i = 1: length (B) index (i) = find (A (:, i) == B (i), 1) ошибка конца: неправильное назначение с прямоугольной пустой матрицей. – Ana

ответ

0

Ваш код почти правильно. Вы должны инициализировать index -переменная:

index = zeros(1,size(A,2)); 
for i = 1:length(B) 
    index(i) = find(A(:,i) == B(i),1); 
end 
index 

index = 
    2  2  1  2  2 
Смежные вопросы