Complementary error function curve fitting

87 visualizaciones (últimos 30 días)
Nachiketa
Nachiketa el 4 de Ag. de 2014
Comentada: Star Strider el 4 de Ag. de 2014
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.

Respuestas (1)

Star Strider
Star Strider el 4 de Ag. de 2014
Editada: Star Strider el 4 de Ag. de 2014
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 comentarios
Nachiketa
Nachiketa el 4 de Ag. de 2014
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.
Star Strider
Star Strider el 4 de Ag. de 2014
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.)

Iniciar sesión para comentar.

Categorías

Más información sobre Interpolation en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by