MATLAB: Relocate a value of a vector.

MATLABrelocatevector

Hello, i need to relocate a random value of a vector to a random position in it without changing the order of the other numbers.
I already have achieved finding a random value and its position and also the desired position.
It should look like this , for example
A=[1 2 3 4 5 6 7 8 9 0]
Position 7 to position 2
A=[1 7 2 3 4 5 6 8 9 0]
and it should also work the other way , position 2 to 7 since the positions are random.

Best Answer

A=[1 2 3 4 5 6 7 8 9 0];
i=2; %position removed
j=7; %target position
B=A;
k=i<j;
B(i)=inf;
C = [B(1:j+k-1),A(i),B(j+k:end)];
result=C(isfinite(C))
>> result =
1 7 2 3 4 5 6 8 9 0