changing similar numbers in a raw

1 Ansicht (letzte 30 Tage)
nadia nadi
nadia nadi am 3 Apr. 2022
Bearbeitet: Arif Hoq am 4 Apr. 2022
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 Kommentar
KALYAN ACHARJYA
KALYAN ACHARJYA am 3 Apr. 2022
Bearbeitet: KALYAN ACHARJYA am 3 Apr. 2022
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

Melden Sie sich an, um zu kommentieren.

Antworten (2)

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

Arif Hoq
Arif Hoq am 4 Apr. 2022
Bearbeitet: Arif Hoq am 4 Apr. 2022
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

Kategorien

Mehr zu Power and Energy Systems finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by