Peak Value from bodemag plot

32 ビュー (過去 30 日間)
JD
JD 2020 年 3 月 1 日
コメント済み: Star Strider 2020 年 3 月 1 日
I am trying to calculate the peak value of the bodemag plot. Attached is the code I am trying to use
[gpeak,fpeak] = getPeakGain(SS_1)
gpeak_dB = 20*log10(gpeak);
However that doesn't seem to work for bodemag plots, only for bode plots because it isn't giving me the correct peak for the plot attached.
How do I calculate the peak of a bodemag plot?

採用された回答

Star Strider
Star Strider 2020 年 3 月 1 日
Try this:
F = openfig('untitled.fig');
getF = get(F);
Lines = findobj(F, 'Type','Line');
for k = 1:numel(Lines)
X{k} = Lines(k).XData;
Y{k} = Lines(k).YData;
[Ymax,Idx] = max(Y{k});
FM{k,:} = [X{k}(Idx) Ymax Idx];
end
MagFreq = array2table(cell2mat(FM), 'VariableNames',{'Frequency','Magnitude','Index'})
producing:
MagFreq =
Frequency Magnitude Index
_________ ___________ _____
NaN NaN 1
NaN NaN 1
1e-20 1.2722e-14 1
1e-20 0 1
1e-20 1.2722e-14 1
1e-20 2.5444e-14 1
1e-20 0 1
1e-20 1.7358e-14 1
1.6051 0.52101 35
1e-20 -2.5073e-14 1
1.3159 0.062431 32
1e-20 -2.5073e-14 1
It is not difficult to extract the values, however it is definitely not straightforward.
  4 件のコメント
JD
JD 2020 年 3 月 1 日
That makes a lot of sense! Thank you so much for your input and help!
Star Strider
Star Strider 2020 年 3 月 1 日
As always, my pleasure!

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

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangePlot Customization についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by