2011-04-17 17 views
5

¿Puede cualquier experto MATLAB ayudar con esto:MATLAB: Asignación de valores a Índice de otra matriz

tengo los siguientes dos matrices:

A = [1 1 3 4 4 4 4 4]; 
B = [6 7 8 9]; 

quisiera hacer una tercera matriz que utiliza el los valores de "a" como una especie de punteros a la matriz en B. por lo tanto, el resultado final sería:

C = [6 6 8 9 9 9 9 9]; 

Cada elemento de la "a" se asigna a un índice en "B".

Gracias de antemano.

Edit: Lo sentimos, se olvidó de mencionar: Estoy buscando una solución sin bucle. Esto funcionaría (creo), pero utiliza un bucle:

C = []; 
for i = 1:length(A) 
    C = [C B(A(i))]; 
end 

Respuesta

7

Uso B(A). Trata los elementos de A como índices en B y devuelve una matriz con el mismo tamaño que A.

+0

Impresionante. Funcionó perfectamente, ¡gracias! Lo acepto después del min. el tiempo ha expirado – Eric

Cuestiones relacionadas