# Insert new values in specific position after processing

7 views (last 30 days)
Elysi Cochin on 12 Feb 2023
Commented: Elysi Cochin on 12 Feb 2023
I have a vector A of logical datatype size 5 x 1
A = [1 0 0 1 1 ];
Then I extracted the features where A = 1
ind1 = A(:,1) == 1;
A1 = Feat(ind1,:);
After processing I obtained a new vector
Anew = [ 1 0 1]
Now I want to insert the Anew back to A in the same position to obtain the result as
[1 0 0 0 1]
When I insert the vector back the values are not coming correctly.
Please can someone help me to insert Anew to A in the same position.
The size of vector A can vary

Askic V on 12 Feb 2023
Edited: Askic V on 12 Feb 2023
In such stuations, I would keep track of indices of elements in the original vector, use find function.
A = logical([1 0 0 1 1]);
ind = find(A == 1)
ind = 1×3
1 4 5
% processing
Anew = logical([1 0 1]);
A(ind) = Anew
A = 1×5 logical array
1 0 0 0 1
If you really need to change and process the original vector, then instead of removing element in it, place Nan in its position as a placeholder.
Elysi Cochin on 12 Feb 2023
Now its working. Thank you

Voss on 12 Feb 2023
A(ind1) = Anew;

### Categories

Find more on Argument Definitions in Help Center and File Exchange

### Community Treasure Hunt

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

Start Hunting!

Translated by