How can I minimize the difference between data from PDE script and experimental data set?
3 次查看(过去 30 天)
显示 更早的评论
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 个评论
回答(2 个)
Alan Weiss
2017-9-27
You can use fminsearch, or, if you have an Optimization Toolbox™ license, lsqcurvefit. See Nonlinear Data-Fitting.
Alan Weiss
MATLAB mathematical toolbox documentation
Torsten
2017-9-27
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.
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 PDE Solvers 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!