Selection of 3 large value from a matrix

1 view (last 30 days)
How can i select 3 largest value from a matrix and remaining make zero without changing the dimension,For eg A=[1 3 5 8 31 7 4 18] The output should be A=[0 0 0 8 31 0 0 18] Please help

Accepted Answer

Azzi Abdelmalek
Azzi Abdelmalek on 7 Apr 2014
Edited: Azzi Abdelmalek on 7 Apr 2014
A=[1 3 5 8 31 7 4 18]
[ii,jj]=sort(A,'descend');
A(jj(4:end))=0
Or
A=[1 3 5 8 31 7 4 18]
[ii,jj]=sort(A,'descend');
B=zeros(size(A))
B(jj(1:3))=A(jj(1:3))

More Answers (0)

Categories

Find more on Numeric Types in Help Center and File Exchange

Tags

No tags entered yet.

Community Treasure Hunt

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

Start Hunting!