问题标签 [lmfit]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
lmfit - 如何从 lmfit 模型中抽取样本?
我在 lmfit 中有一个适合我的数据的倾斜高斯模型。现在我想从中抽取一个样本,但我无法在文档中找到如何?在我的情况下,自己简单地实现模型函数的正确方法是偏态正态分布,还是 lmfit 中有一个函数可以解决这个问题?
我的代码:
python - Python 最小化器
我正在尝试在点云上拟合 3D 线。我正在使用 lmfit 的 minimzer。我将线点距离定义为np.linalg.norm(np.cross(p-v0,v1-v0))/np.linalg.norm(v1-v0)(来自http://www.qc 的方法 2。 edu.hk/math/Advanced%20Level/Point_to_line.htm)。问题是我不确定 minimer 做得好不好。我正在使用最小二乘法,对于较少的点数,拟合不正确。
事实上,np.linalg.norm(np.cross(p-v0,v1-v0))似乎做得更好。如果我理解正确,这将最小化平行四边形区域而不是点线距离。
问题:有没有比最小二乘法更好的算法来最小化距离?有比 lmfit 更好的库吗?为什么第二个方程会给出更好的结果,它只是除以一个标量?
使用 plotly 我可以看到拟合的质量:np.linalg.norm(np.cross(p-v0,v1-v0))/np.linalg.norm(v1-v0) vs np.linalg.norm(np.交叉(p-v0,v1-v0))
python - 使用 lmfit 在点云上拟合 3D 线时添加权重
我正在使用以下代码在 3D 点云上拟合 3D 线。我正在使用lmfit的最小二乘法来最小化。
我需要为不同的点添加权重,但在使用数组(而不是标量)距离输出时不知道该怎么做。使用标量时的问题是它不如使用数组时好。我假设是因为变量数量较多。
所以问题是 - 有没有办法将数组的每个元素的权重添加到最小化器?使用像 Nelder w/scaral 输入的东西不能很好地执行 3D 拟合。
python - 这个 numpy 错误是否归因于 Python 2.7 和 3.5 的差异?
以下代码来自http://cars9.uchicago.edu/software/python/lmfit/parameters.html上的示例。
我试图在 Canopy 中运行此代码。当为 Python 3.5 使用 Canopy 64 位时,它运行良好。我需要使用 Python 2.7 在 Canopy 32 中使用它。当我更改为使用其他编辑器时,它不再起作用。这是它给我的问题:
我很困惑,因为我唯一改变的是 Python 的版本和 Canopy 的版本。这可能是由 Python 2.7 和 Python 3.5 之间的差异引起的吗?
python - lmfit- 将拟合参数相互关联
我正在使用 python lmfit模块来拟合多个高斯。我想要的是通过数学表达式将一个参数与另一个参数结合起来,例如:
我想要的是绑定参数,例如。a1=a2/2。lmfit 包有办法解决这个问题吗?
python - Scipy curve_fit 边界和条件
我正在尝试使用curve_fit
来拟合一些数据。它工作得很好,我只想通过附加参数来改进拟合以匹配假设(例如机械效率不能大于 100% 等)
但我想另外指定参数之间关系的界限,例如。
编辑:我发现了这个,一旦我调查它可能会有所帮助:如何对 SciPy 曲线拟合施加约束?
如何按照建议使用 lmfit 来完成?
python - 多个数据集的 lmfit 和最小化函数
我对用于同时描述具有一些常见参数的一组数据的脚本有疑问。该程序相当长且复杂,为了简单起见,我在这里报告基本部分。本文末尾提供了完整的脚本和一组数据。
第一步,我导入要拟合的数据。qexp 是我的自变量的值,RRexp 是我要建模的实验数据。RRerr 是他们的不确定性,qres 是我的自变量中的不确定性(此处未使用)。
我定义了计算理论曲线所需的所有参数(我只展示了其中的一些):
此函数将残差返回给由最小化调用的 f2min_inc 函数。data1 和 data2 由 calcRR 函数计算,使用数据数组中包含的 x 值 (qexp)、SLDx 数组和 GFP[] 中包含的一些参数。计算值存储在 data[:][:,4] 中。
这是一个中间函数(可能会被跳过),由最小化函数调用,返回残差。在第一行中,根据 fit_parameters 计算了四个数组 Phi_s1、Phi_s2、SLD1 和 SLD2。需要这些数组来计算理论曲线,这在 Resid_inc 函数中完成。
这里我调用 lmfit 最小化函数。out = 最小化(f2min_inc,fit_params,iter_cb=printout,方法='leastsq')
虽然我没有在minimize中定义args,但是软件运行流畅,没有出现任何错误信息,拟合过程运行了一段时间然后结束。但是,参数的变化很小,并且返回时没有标准偏差。该报告如下所示:
如您所见,参数略有变化,但变化不大。我认为这可能会导致模型的复杂性。但是,即使我尝试最小化一个参数,问题仍然存在。同样通过改变最小化算法对输出没有影响,输出总是非常接近猜测的参数。我也确信,我不是最低限度的,因为我可以通过改变初始参数得到更好的猜测。
我担心问题在于我是如何编写脚本的,即使我无法确定任何明显的问题(但我的编程技能非常有限)。
带有一组数据的完整脚本可以在这里下载: https ://tubcloud.tu-berlin.de/s/4oUzu6d5Mvwczle
提前感谢您的评论。
python - 使用 LMFIT 将多峰函数拟合到数据集
我正在尝试使用 LMFIT 库进行多洛伦兹拟合,但它不起作用,我什至明白我所做的语法完全错误,但我没有任何新想法。
我的问题是:我的光谱很长,有多组峰,但这些组中的峰数不是恒定的,所以有时我只有 1 个峰,但有时我可能有 8 个甚至 20 个。
我已经开始尝试制作一个返回多洛伦兹函数的通用函数,但我正在努力解决如何使其工作......
我也在发送 x, y 数组的数据。
python - 我该如何解决这个''名称未定义''
我是python的新手我有这个代码我想使用子类lmfit.models并实现一个猜测方法,
我收到以下错误我收到 的错误我收到的错误图像在此地址中