How can I put the values of the y-axis in a vector and find the maximum?

2 views (last 30 days)
This is my MATLAB code:
data=csvread("abc.CSV");
[H, f]=make_fft(data(:,2),data(:,1)); %my function
figure
stem(f,H)
set(gca,'xscale','log')
How can I see values of the plot in a vector? I should find the first and second maximum along the y axis
  2 Comments
Enrico Gambini
Enrico Gambini on 16 Feb 2022
Hello.
I did not fully understand your question. The values of the y-axis are stored inside vector "H", you mean that you want to see a better scale in the y-axis?
Lorenza Curcio
Lorenza Curcio on 16 Feb 2022
if I look for the maximum of H I get the maximum value, but what if I want the second largest value?

Sign in to comment.

Accepted Answer

Enrico Gambini
Enrico Gambini on 16 Feb 2022
You mean this?
H_sorted=sort(H); %sort vector "H" in ascending order
idx=find(H==H_sorted(end-1)); %find the index of the second maximum value in vector "H"
2nd_max_value=H(idx); %this is the second maximum value of vector "H"
  2 Comments
Lorenza Curcio
Lorenza Curcio on 17 Feb 2022
yes, ty
and how can I display the values ​​of the x axis corresponding to those of the y axis? I mean the full list and not just the maximum
because I want to find which value of the x axis corresponds to the second maximum of the y axis
Enrico Gambini
Enrico Gambini on 17 Feb 2022
If you want to find the x-axis value of the second maximum y value you can Just:
x_2ndmax=f(idx)

Sign in to comment.

More Answers (0)

Categories

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