Borrar filtros
Borrar filtros

How to replace values in a matrix with another set of values

2 visualizaciones (últimos 30 días)
bsriv
bsriv el 17 de Oct. de 2018
Comentada: bsriv el 18 de Oct. de 2018
Hi,
I have a 91282 x 1 matrix and I want to replace the specific values 59688:60003 (n=315) with another set of 315 numbers (a 315 x 1 matrix) in those exact places. What is the best way of doing this? Thanks!
  2 comentarios
Jan
Jan el 18 de Oct. de 2018
Do you mean the values 59688:60003, or are these the indices of the values you want to replace?
bsriv
bsriv el 18 de Oct. de 2018
Sorry, yeah I meant the indices

Iniciar sesión para comentar.

Respuesta aceptada

Image Analyst
Image Analyst el 18 de Oct. de 2018
Try this
% Stuff sourceVector into indexes 59688:60003 of targetVector
targetVector(59688:60003) = sourceVector;
  3 comentarios
Jan
Jan el 18 de Oct. de 2018
Editada: Jan el 18 de Oct. de 2018
@bsriv: Note that 59688:60003 has 316 elements, not 315. So if you want to insert 315 elements starting from element 59688:
len = numel(sourceVector);
targetVector(59688:(59688 + len - 1)) = sourceVector;
% ^^^ essential!
bsriv
bsriv el 18 de Oct. de 2018
Got it... thanks!

Iniciar sesión para comentar.

Más respuestas (1)

Image Analyst
Image Analyst el 18 de Oct. de 2018
You can use the intlut() function.

Categorías

Más información sobre Matrix Indexing en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by