data fitting to equation

10 views (last 30 days)
Sudhir Rai
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.
  12 Comments
Sudhir Rai
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
Sudhir Rai on 10 Jan 2023
t is time which could go upto 2000 s

Sign in to comment.

Answers (1)

Just Manuel
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
  2 Comments
Sudhir Rai
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
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.

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!