curve fit the function

14 views (last 30 days)
Tawhid Pranto
Tawhid Pranto on 15 Jun 2021
Edited: dpb on 15 Jun 2021
I am trying to curve fit the following equation with parameters d, D, Ar, Tr each of them bounded in some range. The physical constants are: gamma = 26.76E7, n = 6.59E28, Ad = 2.099E-20
The equation is broken into several parts -
w1=2*pi*x
z1=(2*w1*d^2/D)^0.5
w2=2*w1
z2=(2*w2*d^2/D)^0.5
J1=((1+5*z1/8+z1^2/8)/(1+z1+z1^2/2+z1^3/6+z1^5/81+z1^6/648))
J2=((1+5*z2/8+z2^2/8)/(1+z2+z2^2/2+z2^3/6+z2^5/81+z2^6/648))
R1_diff = Ad*(J1+4*J2)/(d*D)
R1_rot = Ar*(Tr/(1+w1^2*Tr^2)+4*Tr/(1+(w2)^2*Tr^2))
R1_IL = R1_diff + R1_rot
finally
return R1_IL
#Experimental x and y data points
xData = [2.00E+07,1.42E+07,1.01E+07,7.16E+06,5.09E+06,3.61E+06,2.57E+06,1.82E+06, ...
1.29E+06,9.20E+05,6.53E+05,4.63E+05,3.29E+05,2.34E+05,1.66E+05,1.18E+05, ...
8.39E+04,5.96E+04,4.24E+04,3.00E+04];
yData = [1.90E+01,2.11E+01,2.38E+01,2.66E+01,2.97E+01,3.26E+01,3.46E+01,3.70E+01, ...
3.84E+01,4.00E+01,4.12E+01,4.22E+01,4.33E+01,4.39E+01,4.48E+01,4.54E+01, ...
4.65E+01,4.64E+01,4.67E+01,4.67E+01];
and the bound parameters are
d = [2.00E-10, 3.5E-10], D = [3.0E-12, 4.00E-12], Ar = [3.00E9, 3.8E9], Tr = [5.00E-19, 6.9E-10]ll
I need to get the parameter values that will minimize the function and curve fit the plot of R1 vs x in loglog scale.
  1 Comment
dpb
dpb on 15 Jun 2021
Edited: dpb on 15 Jun 2021
Reformatted Q? data/code so somebody can download easily -- dpb

Sign in to comment.

Answers (0)

Categories

Find more on Linear and Nonlinear Regression in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!