San*_*hit 4 python random scipy
我有一个图像,我在其中选择一个randow行,并尝试在该行中拟合高斯曲线.我正在使用scipy.optimize curve_fit方法来拟合高斯分布.
根据数组向量[10,20,40,60,100]选择randow行,这意味着在第一次尝试中我在该图像中选择10个randow行(因此,10个Gaussian拟合),然后,更多的行是选择等等.
大多数时候,代码都在工作,但是,有时我会收到一个错误(特别是当行数很大时:大约60或更多),这表示找不到最佳参数.
我在stackoverflow中发现了一些类似的帖子,但仍然无法解决这个问题.看起来这个问题经常出现在curve_fit方法中.
激光束,任何机会?;-)
无论如何,问题可能是被scipy的curve_fit函数选择的行很难适应高斯曲线.我的第一个建议是调试(使用例如python的日志记录模块)以查看错误是否仅在特定行上弹出.
我的第二个建议是改变curve_fit 的初始猜测.从可以进行曲线拟合的行中,您应该能够提取一些参数.在其他行上,高斯的平均值处于大致相同的位置,并且度数也不会变化太多.一个好的初始猜测肯定有助于曲线拟合.
如果你想分析这个问题,我肯定会这两个:尝试找到800次迭代后曲线拟合失败的行.然后通过改变初始猜测来查看曲线拟合是否有效.
| 归档时间: |
|
| 查看次数: |
15392 次 |
| 最近记录: |