Azzera filtri
Azzera filtri

How to fit a base(excluding the peak) of a curve and subtract the fitted base with its corresponding unfitted curve

20 visualizzazioni (ultimi 30 giorni)
Hi all,
I am trying to fit a base of a curve(excluding peak form data point 10:22) using a polynomial expression, I want to programmatically fit the base line (excluding peak) and do the subtraction of the fitted and unfitted data.
Is there a way to fit just the base and exclude the peak data points(from 10:22)?
single datasets is attached.
  3 Commenti
Ankit Gupta
Ankit Gupta il 29 Set 2015
Modificato: Ankit Gupta il 29 Set 2015
This is the raw single dataset, I just wanna fit the baseline excluding the peak data point form 10:22 Mat file contains "Tabs" as ydata and freq as xdata
dpb
dpb il 29 Set 2015
Despite the structure in the "baseline" outside the peak, without further information on the system you can't realistically fit much more than a linear baseline value in the region of the peak itself. When you use the polynomial of high order, there's not telling what it'll do in that region.

Accedi per commentare.

Risposte (2)

Image Analyst
Image Analyst il 28 Set 2015
Or you can certainly extract everything except elements 10 to 22 and pass them into interp1(), polyfit(), or fitlm() and get a polynomial everywhere, even over the missing data points.

dpb
dpb il 28 Set 2015
But despite not having the data set for viewing/testing, sure...
ix=[1:9 23:length(x)]; % include points
b=polyfit(x(ix),y(ix),2); % fit second order baseline
ysub=y-polyval(b,x); % subtract baseline over entire range
  5 Commenti

Accedi per commentare.

Community Treasure Hunt

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

Start Hunting!

Translated by