How can I minimize the difference between data from PDE script and experimental data set?
5 views (last 30 days)
Show older comments
I have built a script to solve PDE of diffusion problem. I want to obtain some constants (D, k, and k_ads) by comparing the concentration profile from the experiment with the one from PDE. The concentration profile is in 1x10 array. Suppose I can make an objective function by (C_simulation-C_exp)^2, so how can I minimize it by automatically change the constants as can be done in Excel solver add-in? For clearer perception, I gave the script attached. C_simulation is function of Cp at x=0 at any t (-dC/dt=k*(C(t)-Cp(x=0,t)-> I integrate it first and substitute C(t) as function of Cp and C(t=0)). At this point, I confused how to build C_simulation array (to locate the Cp at x=0,any t and then perform optimization to get k_ads, K, and D. Thank you for the suggestions.
0 Comments
Answers (2)
Alan Weiss
on 27 Sep 2017
You can use fminsearch, or, if you have an Optimization Toolbox™ license, lsqcurvefit. See Nonlinear Data-Fitting.
Alan Weiss
MATLAB mathematical toolbox documentation
Torsten
on 27 Sep 2017
Here is an example for parameter fitting in an ODE:
https://de.mathworks.com/matlabcentral/answers/43439-monod-kinetics-and-curve-fitting
The procedure for a PDE is the same.
Best wishes
Torsten.
See Also
Categories
Find more on PDE Solvers 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!