问题标签 [data-fitting]

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.

0 投票
1 回答
1280 浏览

c - nlinfit Matlab函数等效函数c代码

我的曲线拟合有问题,我必须使用这个方程 a+bx^2.5+cx^3.5 来拟合一组点(x 和 y)。我已经尝试使用 nlinfit 函数从 matlab 曲线拟合工具箱中得到它。现在我想把它转换成 c/c++。有没有办法从 matlab 转换它,或者有什么库可以在 c/c++ 中执行。

提前致谢。

0 投票
2 回答
264 浏览

3d - 适合一组方向的最紧锥体

给定 3D 中的一组单位方向d_1, ..., d_n ,

如何找到它们周围最紧的锥体?

例如,我怎样才能找到另一个单位向量m和一个表示角度的标量值alpha,例如:

foreach i, AngleBetween( m , d_i ) < alpha

阿尔法是最小的。

补充说明:方向可以跨越一半以上的空间。在这种情况下,“圆锥”是指从圆锥顶点开始并在圆锥轴给定角度内的一组半线。

0 投票
2 回答
9322 浏览

plot - 将函数拟合到在 gnuplot 中使用频率创建的直方图

介绍

在 gnuplot 中,有一个解决方案可以从名为hist.datwhat likes的文件创建直方图

通过使用命令

从其他 SO 页面生成这样的直方图。

问题

我怎样才能使我的函数适合这个直方图?我定义了一个高斯函数并初始化了它的值

在输出中,函数很好地遵循直方图。

不幸的是,我无法使用命令适应此直方图

那么如何在不创建包含分箱值的新文件的情况下适应我的函数呢?

0 投票
1 回答
2383 浏览

python - 将数据拟合到 python vs gnuplot 中的方程

我正在尝试将一些数据拟合到 python 中的方程中,但我遇到了一些困难。我有等式:

其中a、和是拟合参数,ti和是分别表示时间和位移的数组变量。该等式将通过一些迭代很好地适合 gnuplot,但在 python 中适合它会引发以下错误:-bktdisp

完整的堆栈跟踪是:

我发现它ti是导致问题的术语,如果你已经ti固定在周围,那么配件就可以工作35.5。我使用了电子表格,对于t下的任何值ti,等式抛出一个#VALUE(可能是因为它是虚构的)

基本上有没有办法让python像gnuplot一样适应曲线(我假设它忽略了无效的结果)?我用于我的程序的fittiong部分的代码如下:

谢谢!!

0 投票
2 回答
469 浏览

matlab - 在 Matlab 中以编程方式从“基本拟合”GUI 再现“评估”功能

使用“基本拟合”工具时,一旦“拟合”完成,就有机会评估/估计某些点的值。我只能复制到绘图部分。我无法弄清楚如何以编程方式重现“评估”函数,以便我可以估计某些点的值并在我的代码中使用它们。我现在能做到这一点的唯一方法是通过图形用户界面,即从图形窗口的主菜单:“工具>>基本拟合”

截屏

我不确定我是否足够清楚,但请随时询问您是否需要更多信息。

0 投票
1 回答
685 浏览

python - 在 scipy.optimize.leastsq 中使用预分配的缓冲内存拟合函数

我正在尝试使用scipy.optimize.leastsq使用预分配内存来存储残差的 fit 函数。我有数百万次非线性拟合,时间很关键。我在 中编写了 fit 函数C,我注意到scipy.optimize.leastsq当 fit 函数只是返回对作为输入获得的缓冲存储器的引用时,它不能正常工作。Py_INCREF当我注意到问题可以在 pure 中重现时,我以为我搞砸了s Python。这是一些说明问题的模型代码(实际问题具有不同的拟合函数并且要复杂得多):

为了使其正常工作,我必须将 fit 函数包装到一个复制中:

...但是制作副本显然首先会破坏使用缓冲存储器!作为旁注,opt.fmin也可以像这样使用缓冲存储器(但实际上对于我的应用程序来说太慢了):

任何想法为什么在上面的例子中scipy.optimize.leastsq可以正常工作dy2()而不是正常工作?dy()

0 投票
1 回答
3872 浏览

matlab - 将附加参数传递给 fmincon

我想在方程上拟合两个参数fmincon。我这样做了,lsqnonlin但我想利用fmincon.

问题是我不能将测量数据的两个向量传递给y(x)函数,例如,以我在lsqnonlin.

我该怎么做?

我将如何通过测量的向量?

0 投票
1 回答
2395 浏览

matlab - Matlab上的对数最小二乘法

如何使用这个函数y=(a*x)./(b+x)来近似这个数据 x = [1.5 4 5 8 12 16 17]y = [1.6 2.6 2.4 3.2 3.4 3.6 3.4]使用 matlab 的最小二乘法?

我用对数得到log(y)=log(a*x)-log(b+x). 结果不是y = a*x + b我需要的形式。它没有像它应该a那样乘以,而是被添加到它上面,因为. 所以我不知道下一步该怎么做。我知道要执行的代码and ,但我不知道如何解决这个问题。xlog(y)=log(a)+log(x)-log(b)y=b*x.^ay=b*exp.(x*a)

0 投票
3 回答
69479 浏览

python - 使用 python 中的 optimize.leastsq 方法获取拟合参数的标准错误

我有一组数据(位移与时间),我使用 optimize.leastsq 方法拟合了几个方程。我现在正在寻找拟合参数的错误值。查看文档,输出的矩阵是雅可比矩阵,我必须将它乘以残差矩阵才能得到我的值。不幸的是,我不是统计学家,所以我有点沉迷于术语。

据我了解,我所需要的只是与我的拟合参数一起使用的协方差矩阵,因此我可以对对角线元素进行平方根以获得拟合参数的标准误差。我有一个模糊的记忆,协方差矩阵是 optimize.leastsq 方法的输出。这个对吗?如果不是,您将如何让残差矩阵将输出的雅可比矩阵乘以得到我的协方差矩阵?

任何帮助将不胜感激。我对 python 很陌生,因此如果这个问题被证明是一个基本问题,我深表歉意。

拟合代码如下:

args t 和 disp 是时间和位移值的数组(基本上只有 2 列数据)。我已经在代码顶部导入了所有需要的东西。输出提供的拟合值和矩阵如下:

无论如何,我怀疑这种合身性现在有点可疑。当我可以解决错误时,这将得到确认。

0 投票
1 回答
4044 浏览

python - 使用 scipy.interpolate.LSQBivariateSplines 将 2-D 样条拟合到有间隙的噪声数据

我在网格上有一个带有矩形数据的 numpy 数组,并希望在其上拟合 2-D 样条以重现大规模变化,同时消除所有/大部分噪声。数据也有一些区域用 NaN 值标记为无效。

我尝试使用 scipy.interpolate.RectBivariateSpline 函数,但差距搞砸了结果。所以我尝试使用同一个包中的 LSQBivariateSpline 函数,希望当我将所有 NaN 像素的权重设置为 0 时,它会简单地忽略它们。但是,那时我遇到了以下我不知道如何避免的错误:

我的代码是:

代码的输出是以下错误消息:

我输入的输入矩阵(“数据”)大约为 1000 x 1000 像素,这足以将样条线约束在 100 节。将每个方向上的节数增加到 100 个,代码运行速度会变慢,但除了不足数之外,没有任何变化。我还尝试使用 1-e30 到 0.9 之间的值增加和减少 eps 值(默认为 1e-16

我也尝试用谷歌搜索错误代码,但找不到好的结果,所以这也无济于事。

知道这里可能有什么问题吗?还是有解决此问题的解决方法/更好的方法?

任何帮助将不胜感激。

谢谢