Curve fitting to diffusion equation(Matlab)


by msumani
Tags: curve fitting, diffusion equation, matlab
msumani
msumani is offline
#1
Nov25-10, 12:49 AM
P: 1
We have been trying to fit experimental diffusion results to the diffusion equation using Matlab to evaluate the Diffusion coefficient.
The equation we used:
y=C*erfc(x/(2*sqrt(D*t)))
Experimental values [x],[y] and t are given. C and D are to be evaluated from the curve fit.
We used cftool of Matlab.
We have a problem in getting the results. We get error message as:

"Error using ==> <a href="error:C:\Program Files\MATLAB\R2007b\toolbox\curvefit\curvefit\@fittype\feval.m,97,0">fi ttype.feval at 97</a>
Error in fittype expression ==> C.*erfc(x./(2.*sqrt(D.*300)))
??? Error using ==> erfcore
Input must be real."

Can anyone help?
Phys.Org News Partner Physics news on Phys.org
The hemihelix: Scientists discover a new shape using rubber bands (w/ video)
Mapping the road to quantum gravity
Chameleon crystals could enable active camouflage (w/ video)
Zarqon
Zarqon is offline
#2
Nov25-10, 03:39 AM
P: 217
It looks like the problem is that the error function requires real input arguments. Looking at your expression I would say the most likely problem is that the D parameter gets negative during the fitting, and as such maybe you could try to use abs(D) instead, although this could lead to the fitting algorithm having problems finding the right values.


Register to reply

Related Discussions
curve fitting using matlab Engineering, Comp Sci, & Technology Homework 1
MATLAB Curve Fitting Question? Introductory Physics Homework 1
Curve-to-curve fitting trouble! Programming & Computer Science 5
Curve fitting in Matlab Math & Science Software 1
curve fitting using Matlab Math & Science Software 0