Sum of both negative - positive part of a Peak

2 ビュー (過去 30 日間)
abaza
abaza 2019 年 11 月 25 日
編集済み: Star Strider 2019 年 11 月 25 日
Dear ALL,
I have a peak that I woud like to take the integral of it, however, this peak has a positive (> 0 baseline) and negative part (< 0 beaseline).
So, is it any function in MATLAB that automatically sums both parts?
Please see attached the example...peak.png

採用された回答

Star Strider
Star Strider 2019 年 11 月 25 日
Try this:
x = linspace(6.622, 9.644);
y = exp(-(x-mean(x)).^2/0.5) - 0.1;
Lv = y>=0;
PosPart = trapz(x(Lv), y(Lv))
NegPart = trapz(x(~Lv), y(~Lv))
SumParts = PosPart - NegPart
figure
plot(x, y)
Experiment to get different results.
  2 件のコメント
abaza
abaza 2019 年 11 月 25 日
Thank you so much for your quick response!
I will try to implement what you suggested in my "real work data", and I will come back to you for "accepting you answer"!
Cheers!
Star Strider
Star Strider 2019 年 11 月 25 日
編集済み: Star Strider 2019 年 11 月 25 日
My pleasure!
EDIT — (25 Nov 2019 at 22:10)
Depending on what you want to do, this may be more accurate:
Lv = y>=0;
PosPart = trapz(x(Lv), y(Lv))
LT0 = trapz(x(~Lv), ones(size(x(~Lv)))*min(y))
NegPart = LT0 - trapz(x(~Lv), y(~Lv))
SumParts = PosPart - NegPart

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

その他の回答 (1 件)

Image Analyst
Image Analyst 2019 年 11 月 25 日
What if you sum the absolute value of the signal?
area = sum(abs(signal));
That will be the difference between the signal and the y axis.

カテゴリ

Help Center および File ExchangeDescriptive Statistics についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by