Indicate peak value of a signal in matlab plot

45 ビュー (過去 30 日間)
Is there a way to indicate the max peak value of a signal in the plot itself rather than maually hovering the mouse over it?
I know that we can use the function 'findpeaks' to indicate the peaks of a signal, but is it possible to indicate/label the numerical value of that peak at that particular point?

採用された回答

Shunichi Kusano
Shunichi Kusano 2019 年 5 月 24 日
Does this meet your thought? I just changed the example of "findpeaks" a little.
%% sample signal generation
x = linspace(0,1,1000);
Pos = [1 2 3 5 7 8]/10;
Hgt = [3 4 4 2 2 3];
Wdt = [2 6 3 3 4 6]/100;
for n = 1:length(Pos)
Gauss(n,:) = Hgt(n)*exp(-((x - Pos(n))/Wdt(n)).^2);
end
PeakSig = sum(Gauss);
%% Plot the individual curves and their sum.
plot(x,Gauss,'--',x,PeakSig)
%% Use findpeaks with default settings to find the peaks of the signal and their locations.
[pks,locs] = findpeaks(PeakSig,x);
%% Plot the peaks using findpeaks and label them.
findpeaks(PeakSig,x)
text(locs-.03,pks+.3,num2str(pks')) % put the text on the plot
hope this helps.
  1 件のコメント
Joseph Nikhil Raj Koppula
Joseph Nikhil Raj Koppula 2019 年 5 月 27 日
Thanks a lot!!!

サインインしてコメントする。

その他の回答 (1 件)

製品


リリース

R2018b

Community Treasure Hunt

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

Start Hunting!

Translated by