Remove some numbers from an array and replace them with zero?

2 次查看(过去 30 天)
Lets say the array is like this:
A = [4 4 4 4 6 6 6 6 6 6 2 2 3 3 3 5 5 5 5 5 3 3 3];
How could I change the matrix to be like this:
B = [4 0 0 0 6 0 0 0 0 0 2 0 3 0 0 5 0 0 0 0 3 0 0];
I want to represent each new number in the array but not more than once. The numbers may occure several times as number three in this example.

采纳的回答

Stephen23
Stephen23 2019-4-10
编辑:Stephen23 2019-4-10
>> A = [4,4,4,4,6,6,6,6,6,6,2,2,3,3,3,5,5,5,5,5,3,3,3]
A =
4 4 4 4 6 6 6 6 6 6 2 2 3 3 3 5 5 5 5 5 3 3 3
>> B = A;
>> B([false,~diff(B)]) = 0
B =
4 0 0 0 6 0 0 0 0 0 2 0 3 0 0 5 0 0 0 0 3 0 0

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Matrix Indexing 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by