Find and remove a value from an array
57 次查看(过去 30 天)
显示 更早的评论
Hello! I'm trying to find in an array 'done' the position of a value 'next' without the use of a loop. Then, in this array i want to remove from that position found, the existing element.
out=find(done==next);
done(out)=[];
I tried it this way but is doesnt seem to work. Would you find an arror or recommend another way?
0 个评论
采纳的回答
Robert U
2020-1-13
编辑:Robert U
2020-1-13
Hi Zenia Askar,
Assuming the content of your variables 'done' and 'next' are numeric your code cannot remove a single value from the matrix without destroying the matrix structure. You should apply logical indexing rather than using 'find()'.
done(done == next) = [];
The result does not represent the matrix structure anymore but is a vector then. To omit that you can place a NaN-value instead.
done(done == next) = NaN;
Kind regards,
Robert
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Matrix Indexing 的更多信息
产品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!