필터 지우기
필터 지우기

Increase stability of curve fit

조회 수: 1 (최근 30일)
twig27
twig27 2017년 3월 4일
편집: John D'Errico 2017년 3월 4일
Hello,
I have a signal which I want to fit with the following function:
a*exp(-b*t) - c*exp(-d*t) + e*exp(-f*t)*cos(g*t) + h*exp(-k*t)*sin(l*t) + off
I know that my signal actually has this form and I also know the coefficients, but when I enter them as start points the fit does not exactly match the signal. How can I improve this?
I've chosen a Levenberg-Marquardt-alogorithm with LAR-robustness. Is the problem the large number of parameters?
Regards
twig
  댓글 수: 2
Walter Roberson
Walter Roberson 2017년 3월 4일
Could you attach some data for us to test with?
twig27
twig27 2017년 3월 4일
I've uploaded the signal time and coefficient vector. Unfortunately I cannot upload an .sfit-file, does this help?

댓글을 달려면 로그인하십시오.

답변 (1개)

John D'Errico
John D'Errico 2017년 3월 4일
편집: John D'Errico 2017년 3월 4일
People think they have this great model. And computers can do anything. :) NOT TRUE.
A vast part of your data is constant, providing no information except what the value of that constant term at the end will be.
...
1.9608e-11
1.9608e-11
1.9608e-11
1.9608e-11
1.9608e-11
1.9608e-11
1.9608e-11
1.9608e-11
1.9608e-11
1.9608e-11
1.9608e-11
1.9608e-11
1.9608e-11
1.9608e-11
1.9608e-11
1.9608e-11
1.9608e-11
1.9608e-11
1.9608e-11
1.9608e-11
Essentially, about half of your data has no information content. The rest of it? Wildly insufficient to fit the model with all of those coefficients.
plot(time,data_transfer_out)
Sorry, but the fit that you got was worthless. Any attempts to fit that model, using any scheme on this data, will be a complete and utter waste of time.
On top of all that, sums of exponential models are notorious for being difficult to fit.
You can't get blood from a rock. And as bloodless rocks go? This one is highly anemic.

카테고리

Help CenterFile Exchange에서 Multirate Signal Processing에 대해 자세히 알아보기

태그

Community Treasure Hunt

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

Start Hunting!

Translated by