How can I minimize the difference between data from PDE script and experimental data set?
Afficher commentaires plus anciens
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.
Réponses (2)
Alan Weiss
le 27 Sep 2017
0 votes
You can use fminsearch, or, if you have an Optimization Toolbox™ license, lsqcurvefit. See Nonlinear Data-Fitting.
Alan Weiss
MATLAB mathematical toolbox documentation
1 commentaire
hardy stanley
le 28 Sep 2017
Torsten
le 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.
1 commentaire
hardy stanley
le 28 Sep 2017
Catégories
En savoir plus sur PDE Solvers dans Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!