Complementary error function curve fitting

Hi,
I have an experimental dataset which I know would be fitted by erfc(x)
I tried using the custom equation option in the curve fitting toolbox, but it does not work.
The generated code looks like this
ft=fittype('A*erfc(2e5*sqrt(a*x))+c', 'independent', 'x', 'dependent', 'y' );
fitresult=fit(x,y,ft);
plot(fitresult,x,y)
and the figure after fitting
I do not know where I am going wrong.

답변 (1개)

Star Strider
Star Strider 2014년 8월 4일
편집: Star Strider 2014년 8월 4일

1 개 추천

You likely need to allow the function to find its own centre:
ft=fittype('A*erfc(2e5*sqrt(a*(x-b)))+c', 'independent', 'x', 'dependent', 'y' );
Your equation assumes your data are centred about x=0. Changing the expression from ‘a*x’ to ‘a*(x-b)’ allows the function to centre around b. I can’t test your code, but that should work.

댓글 수: 2

Nachiketa
Nachiketa 2014년 8월 4일
Thanks for the reply!
x-b does not work (since its not real)
I tried x+b... but I still get the above figure without any fitting.
My pleasure!
Actually this is what I intended:
ft=fittype('A*erfc(2e5*sqrt(a*x)-b)+c', 'independent', 'x', 'dependent', 'y' );
I initially put b in the wrong place in the erfc argument. My apologies. (I was up late last night fighting a spambot here on MATLAB Answers.)

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

카테고리

도움말 센터File Exchange에서 Get Started with Curve Fitting Toolbox에 대해 자세히 알아보기

태그

질문:

2014년 8월 4일

댓글:

2014년 8월 4일

Community Treasure Hunt

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

Start Hunting!

Translated by