问题来源:1stopt 7参数拟合求助 - 计算模拟 - 程序代码 - 小木虫论坛-学术科研互动平台 (muchong.com)
根据两个式子(一个微分方程,一个代数方程)拟合7个未知参数fac1~fac7。微分方程中lamb为需要传递的中间变量,另外,初值lambv未知。
lambv'=((1.0/3/fac7)*(fac1*((lamb/lambv')^fac2-(lambv'/lamb)^(0.5*fac2))+fac3*((lamb/lambv')^fac4-(lambv'/lamb)^(0.5*fac4))+fac5*((lamb/lambv')^fac6-(lambv'/lamb)^(0.5*fac6))));
p=(pa+fac1*((lamb/lambv)^fac2/lamb-(lambv/lamb)^(fac2*0.5)/lamb)+fac3*((lamb/lambv)^fac4/lamb-(lambv/lamb)^(fac4*0.5)/lamb)+fac5*((lamb/lambv)^fac6/lamb-(lambv/lamb)^(fac6*0.5)/lamb));
实验数据:
| t |
lamb |
pa |
p |
| 0 |
0.959926667 |
-0.218715994 |
-0.060966222 |
| 0.25 |
0.963063333 |
-0.200840559 |
-0.046836278 |
| 0.5 |
0.96612 |
-0.183553472 |
-0.035042256 |
| 0.75 |
0.969016667 |
-0.167289626 |
-0.024438988 |
| 1 |
0.97171 |
-0.152268899 |
-0.01706765 |
| 1.25 |
0.97409 |
-0.139075651 |
-0.010939712 |
| 1 |

本文分享了在使用1stopt进行7参数拟合过程中遇到的问题,即如何处理一个包含微分方程和代数方程的系统,其中涉及一个需要传递的中间变量lamb和未知初值lambv。通过gsl的Lu扩展数学库,实现了传递中间变量的功能,并探讨了利用时间插值提高求解精度的方法。同时,将lambv的初始值作为额外的拟合变量。最终得到了拟合结果并展示了相关图形。

2117

被折叠的 条评论
为什么被折叠?



