Fitting curve with an exponential function

4 次查看(过去 30 天)
If I have a function y=f(x), where x and y are two vectors, which presents an exponential decay together with an oscillatory component, how can I remove the exponential "continuous" component in order to have only the oscillations with zero offset? Can you suggest me a code to do this? thanks

回答(3 个)

John D'Errico
John D'Errico 2016-11-18
You can't do this well, at least as you have posed the problem. Conversely, you CAN do this, but you will do a poor job of it. For example, you COULD use the curvefitting toolbox, with a pure simple exponential model. That would lump any noise together with the oscillatory component. Unless the oscillatory component is perfectly orthogonal to the exponential decay component, then the decay will be measured incorrectly.
What you need to do to do this well is to choose a model for the oscillatory component, as well as the exponential component. Then fit the complete model together. Again, the CFT can do this, but only after you have chosen an intelligent model for the complete process.

Star Strider
Star Strider 2016-11-18
I would fit your exponentially decaying sine function (I’m guessing a sine function) with How to filter noise from time-frequency data and find natural frequency of a cantilever? That will give you the frequency of the sine function (frequency and phase). You can then plot the sine function alone using the estimated parameters for it.

Petorr
Petorr 2016-11-18
You might try the Hilbert Transform (see this). Then, divide your signal by the envelope. - Peter

类别

Help CenterFile Exchange 中查找有关 Curve Fitting Toolbox 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by