changing similar numbers in a raw

2 次查看(过去 30 天)
Dear all,
I have a raw with repeated numbers. I want to change them to different onse exactly like the randperm.
X=[1 2 2 2 3 2 4 2 2 2];
i want to make it
X=[1 2 4 3 7 5 8 6 10 9];
many thanks
  1 个评论
KALYAN ACHARJYA
KALYAN ACHARJYA 2022-4-3
编辑:KALYAN ACHARJYA 2022-4-3
X=[1 2 2 2 3 2 4 2 2 2];
Desired result? Any issue?
X=randperm(length(X))
X = 1×10
8 5 1 9 6 4 2 3 7 10

请先登录,再进行评论。

回答(2 个)

nadia nadi
nadia nadi 2022-4-3
Thanks for replying, but i need to keep the numbers 1,3,4 without change their position.
Best

Arif Hoq
Arif Hoq 2022-4-4
编辑:Arif Hoq 2022-4-4
try this:
X=[1 2 2 2 3 2 4 2 2 2];
a=X(X==2);
b=randperm(length(a));
a=b;
X(X==2)=0;
X(X==0)=a
X = 1×10
1 5 6 2 3 7 4 1 4 3

类别

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

Community Treasure Hunt

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

Start Hunting!

Translated by