Find and remove a value from an array

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?

 采纳的回答

Robert U
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 个)

类别

在 帮助中心 和 File Exchange 中查找有关 Language Fundamentals 的更多信息

产品

Community Treasure Hunt

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

Start Hunting!

Translated by