|
|
【答案】应助回帖
★ ★ ★ ★ ★ 独孤神宇: 金币+5, 鼓励交流 2021-08-22 08:43:45
7楼、8楼、9楼的回复,因理解有误,故重新解答。
仍使用 1楼 给出的第一种公式。仍使用部分数据拟合。
分析:需在微分方程求解中传递中间变量lamb,gsl支持的Lu扩展数学库中求解微分方程的函数gsl_ode提供了传递中间变量的功能。
进一步讨论:微分方程求解传递中间变量时,按时间t的改变量进行插值,可提高求解精度。例如,进行线性插值:lamb=lamb0+(lamb1-lamb0)*[(t-t0)/(t1-t0)]。
另外,微分方程初值lambv未知,将其追加为拟合变量lambv0。
Lu代码: 结果:
7.148976005697928e-003 -14.5708961980305 -1.059296609366114 0.2342635320112431 -9.68049051324744e-005 -31.79361445870142 -2.026215042289879 1.184269268536115 3.55377979903292e-006
绘图代码: 图形参考:https://blog.csdn.net/wlfc/article/details/119830682 |
|