How can I plot the maximum values of the double matrix ?
7 views (last 30 days)
Show older comments
I have a double matrix (200 x 200 double). When I plot it it looks like this. 

I want to get the maximum values of this plot like shown in the example.

I have tried to loop inside the elements with the length of the matrix and use findpeaks and assign the maximums to the indexes.
for i = 1:length(E2_gc_comparisn)
[pks,locs,fwhm,proms] = findpeaks(E2_gc_comparison(:,i),XX);
[~,j] = max(pks);
angle(i) = locs(j);
end
%Where E2_gc_comparison is my matrix
%Another way to do it to use
[M,I] = max(E2_gc_comparison)
But when I try to plot it I get:

%Another way that I tried
Val = unique(E2_gc_comparison)
And also got the same graph. How can I plot the matrix so I have something like this.

0 Comments
Accepted Answer
Joel Lynch
on 9 Jun 2021
Max() has an optional third argument that determines the index along which to take the maximum. So for a 10x20 matrix A,
A_max(1,1:20) = max( A, [], 1 ) % Take maximum of all rows, at each column of A
and
A_max(1:10,1) = max( A, [], 2 ) % Take maximum of all columns, at each row of A
So for your problem, you should try this:
[M,I] = max(E2_gc_comparison,[],idx) % where idx = 1 or 2, depending on size of E2_gc_comp
5 Comments
More Answers (0)
See Also
Categories
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!