After importing data from excel and plotting them, I need to subtract the noise and extract only the five peaks, and finally to find the area under the peaks? Can anyone tell me what function to use?

2 次查看(过去 30 天)
I have attached a sample plot. The left plot is plotted in MATLAB and I need to convert this to the one similar to the plot in the right side by reducing the noise. I then need to find the area under the five peaks.

采纳的回答

Ryan Takatsuka
Ryan Takatsuka 2018-7-20
You can probably apply a highpass filter to the data to isolate the peaks. This should remove the low frequency/offset of the plot, while allowing the quickly changing peaks to pass through unchanged.
Alternatively, you can locate the peaks of the data with something like:
[pks, locs] = findpeaks(data);
Because the peaks seem to have a consistent width, you can divide the data into small "subsections" and plot each individual subsection.
To find the area under the curve, you can use a trapezoidal approximation using one of the following:
cumtrapz();
trapz();
  19 个评论
Ryan Takatsuka
Ryan Takatsuka 2018-8-10
It'll be difficult to get any useful area information without a clean height vs. distance plot (it's hard to find the area under the curve without a reasonable looking curve).

请先登录,再进行评论。

更多回答(0 个)

Community Treasure Hunt

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

Start Hunting!

Translated by