Sorting and replacing data in matlab
Show older comments
Hi all,
I have a position Array suppose "A"
A =[ 1, 0, 3, 4, 5, 6, 7, 8, 0, 0,15, 20, 10, 9].
I want to replace all those values of A which are grater than 5.
Here, the first element (in A, it is 6) which is grater than 5 will be replaced by a constant say c1
Then next element (in A, it is 7) which is grater than 5 will be replaced by a constant say c2 =c1+ a, where 'a' is a constant
After that the next element (in A, it is 8) which is grater than 5 will be replaced by a constant say c3 =c2+ a, where 'a' is a constant
...... So on.
I want to see the final Array like this
A =[ 1, 0, 3, 4, 5, c1, c2, c3, 0, 0, c4, c5, c6, c7].
N.B. if any element of A is less or equal than 5, the elements of A will be unchanged
Accepted Answer
More Answers (1)
Alan Stevens
on 15 Oct 2020
Here's one way:
A =[ 1, 0, 3, 4, 5, 6, 7, 8, 0, 0,15, 20, 10, 9];
c1 = 0.1; a = 0.01;
ix = find(A>5);
for i = 1:numel(ix)
A(ix(i)) = c1+(i-1)*a;
end
1 Comment
Rubel Ahmed
on 16 Oct 2020
Categories
Find more on Direction of Arrival Estimation in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!