Insert new values in specific position after processing
조회 수: 3 (최근 30일)
이전 댓글 표시
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
댓글 수: 0
채택된 답변
Askic V
2023년 2월 12일
편집: Askic V
2023년 2월 12일
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)
% processing
Anew = logical([1 0 1]);
A(ind) = Anew
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.
댓글 수: 3
Askic V
2023년 2월 12일
편집: Askic V
2023년 2월 12일
In the following example, the result is expected:
A = [5 5 3 2 1 3 4 5 6 2 1 4 5]
ind = find(A == 5) % keep track of the indices
% processing
%..........
A(ind) = [999.9, 99.9, 9.9, 0.99]
So the logic is good. Please post your code and an example where elements are placed in the wrng positions.
추가 답변 (1개)
참고 항목
카테고리
Help Center 및 File Exchange에서 Environment and Settings에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!