Changing value when first time a value appears

3 次查看(过去 30 天)
A=[1; 1; 1; 1; 2; 2; 4; 4; 4; 4]
B=[4; 2; 7; 9; 5; 0; 2; 6; 1; 0]
I want to change the values of B to NaN whenever a value in A appears for the first time. i.e.
B=[NaN; 2; 7; 9; NaN; 0; NaN; 6; 1; 0]

采纳的回答

Walter Roberson
Walter Roberson 2021-1-14
A=[1; 1; 1; 1; 2; 2; 4; 4; 4; 4]
A = 10×1
1 1 1 1 2 2 4 4 4 4
B=[4; 2; 7; 9; 5; 0; 2; 6; 1; 0]
B = 10×1
4 2 7 9 5 0 2 6 1 0
[~, ia] = unique(A, 'stable')
ia = 3×1
1 5 7
B(ia) = nan
B = 10×1
NaN 2 7 9 NaN 0 NaN 6 1 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