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

2 views (last 30 days)
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 Comments
Jan
Jan on 18 Oct 2018
Do you mean the values 59688:60003, or are these the indices of the values you want to replace?

Sign in to comment.

Accepted Answer

Image Analyst
Image Analyst on 18 Oct 2018
Try this
% Stuff sourceVector into indexes 59688:60003 of targetVector
targetVector(59688:60003) = sourceVector;
  3 Comments
Jan
Jan on 18 Oct 2018
Edited: Jan on 18 Oct 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!

Sign in to comment.

More Answers (1)

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

Community Treasure Hunt

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

Start Hunting!