Sorting matrix while removing zero values and keeping track of index at the same time.

7 views (last 30 days)
This is after sorting but with zero values as well.
[a,ind] = sort(totalAmplitude);
bb = [a;ind]';
I want to eliminate the zero values along with its index value as well.
I tried this but this is messing up my original index as well. The index very much needed for me.
[total_amp_temp,index] = sort(nonzeros(totalAmplitude));
ccd = [total_amp_temp index];
I have attached MATFILE as well.

Accepted Answer

CalebJones
CalebJones on 11 Feb 2020
[a,ind] = sort(totalAmplitude);
bb = [a;ind]';
check = find(bb == 0);
bb(check,:) = [];

More Answers (1)

Bhaskar R
Bhaskar R on 11 Feb 2020
totalAmplitude(ind == 0)=[];
  1 Comment
CalebJones
CalebJones on 11 Feb 2020
I need to keep a track of original index as well.
The index is the most important thing for me, since I'll be using the index for comparision later.

Sign in to comment.

Categories

Find more on Structures 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!