Howto replace Element with Element from another Vector at the 1st Element's Position
1 Ansicht (letzte 30 Tage)
Ältere Kommentare anzeigen
William Collants
am 4 Jun. 2020
Kommentiert: William Collants
am 8 Jun. 2020
Let's say I have a Vector with 100 integer Element between 1 & 100 in no particular Order.
A = [1:100];
A = (randperm (length(A)));
my 2nd Vector can be of any length and contains Integer Elements of any size. Let's Make it:
B = randi([1 200],1,250);
e.g. 250 Elements between 1 & 200 in no particular Order.
Elements of a Size beyond the Dimensions of Vector A don't interest me, so
B (B > 100) = NaN;
Here's what I wanna do:
To Replace all Integer Values in Vector B with the Value in Vector A at that Number's Position.
So let's say the First Element of B is 45. I want to replace it with the 45th Element in Vector A.
If the 2nd Element in B is 89, I want it replaced with the 89th Element in Vector A.
etc.
The NaNs just stay NaNs.
0 Kommentare
Akzeptierte Antwort
Fangjun Jiang
am 4 Jun. 2020
A=10:10:100;
B=[3,10,nan,2,nan];
index=~isnan(B);
B(index)=A(B(index))
B =
30 100 NaN 20 NaN
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Get Started with MATLAB 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!