# data fitting to equation

7 views (last 30 days)
Sudhir Rai on 20 Aug 2020
Commented: Walter Roberson on 10 Jan 2023
I have data for time(t) and pressure (p).
I want to fit these data to equation
I have done simple calcualtion and fittings in matlab. plese suggest how to fit data.
Sudhir Rai on 10 Jan 2023
d is constant that is length of diffusion . range of C_1, c_2 :
c_1 =1e-13 to 1e-17 and c_2=1e-9 to 1e-11 approximatly.
d is ~ 1e-4
Sudhir Rai on 10 Jan 2023
t is time which could go upto 2000 s

Just Manuel on 24 Feb 2021
Refer to this answer from Star Strider:
You can fit any function using simple least squares regression. Just formulate your function (i guess you have already done that) in matlab, then make a cost function (least squares) and use fminsearch to optimize parameters c1 and c2
P = @(c, t) ... % your function
cost = @(c) sum((P(c,t) - p).^2);
% guess initial parameters
c_guess = [1 1];
% use fminsearch
c = fminsearch(cost, guess);
Cheers
Manuel
Sudhir Rai on 10 Jan 2023
I am using for loop for my function. But I am facing problem in using loop output with fminsearch.
and it is not optimizing my parameters.
Could you help me with it?
Walter Roberson on 10 Jan 2023
Your code 2 1/2 years ago did not involve fmincon at all, so we cannot guess what your current code looks like.