フィルターのクリア

how to superimpose peak intensities

3 ビュー (過去 30 日間)
Kun Yan
Kun Yan 2021 年 3 月 18 日
編集済み: Drishan Poovaya 2021 年 3 月 23 日
How to superimpose the peak intensities of multiple peaks in the spectrum to obtain an envelope?

回答 (1 件)

Drishan Poovaya
Drishan Poovaya 2021 年 3 月 23 日
編集済み: Drishan Poovaya 2021 年 3 月 23 日
I understand that you want to find an envelope for all the peak values of different curves. Looking at the image you shared, I assume each curve only has one peak value.
First, you can obtain the location and height of all your peaks and store them in an array.
For example:
[peakYCoords(1),peakXCoords(1)] = findpeaks(y,x);
Say all your peak values are in vector peakYCoords and their corresponding locations are in vector peakXCoords, you can use polyfit and polyval functions to fit a curve to these points, which would act as an envelope
Choose the value of n depending on the number of curves. See the documentation for polyfit for more details.
p = polyfit(peakXCoords, peakYCoords, n);
v = polyval(p, t);
plot(t, v)
Another alternative is to use the envelope function

カテゴリ

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