如何在 Matlab 或 Python 中使用德拜方程将模型拟合到实验数据

问题描述 投票:0回答:0

我正在尝试将模型拟合到我的 R + jX 类型复数值的实验数据中。要更多 准确地说,我有 20 摄氏度水的实验数据。数据是在有限的范围内收集的 从 200MHz 到 6GHz 的频率值。但是,我选择的模型是 Debye 模型,它是 形式: E’ = E(无穷大)– [E(静态)– E(无穷大)] / (1 + (wt) 2 其中 E' 是复介电常数(实部),E(无穷大)是光频率下的介电常数或 无限频率,E(静态)是非常低频率或当 频率趋于零,w 定义为 omega 2pi频率,'t' 是弛豫时间 对于 20 摄氏度的水 (H2O)

如果需要,可提供实验数据。

这些值预计为 E(静态)= 80.2 或左右(0.2 余量),E(无穷大 = 5.2 和 t = 9.36 附言。我已经在 matlab 中使用变体方程尝试过这个,例如

Matlab 中的问题 a+(b-a)/1+(23.142xc)^2 和变体 a+(b-a)/(1+(23.142xc)^2)^d) 但没有 收敛到实际数据。

Python 中的问题 a+(b-a)/1+(23.142xc)^2 在 Matlab 中使用上述等式,但这次在 Python 中, E(静态)如预期的那样为 80.2,但是其他值不准确(见下文),我似乎 使用变量方程 a+(b-a)/(1+(23.142xc)^2)^d 有更好的成功 以下是我使用上述拟合模型在 Python 中的结果 80.29080554191091 1.0 1.8969872910331487e-11 1.0000322206749337 欢迎解决方案和建议,

optimization model curve-fitting mathematical-optimization
© www.soinside.com 2019 - 2024. All rights reserved.