How can I plot the maximum values of the double matrix ?
18 views (last 30 days)
Vahram Voskerchyan on 9 Jun 2021
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);
%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.
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
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