问题标签 [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.
c - nlinfit Matlab函数等效函数c代码
我的曲线拟合有问题,我必须使用这个方程 a+bx^2.5+cx^3.5 来拟合一组点(x 和 y)。我已经尝试使用 nlinfit 函数从 matlab 曲线拟合工具箱中得到它。现在我想把它转换成 c/c++。有没有办法从 matlab 转换它,或者有什么库可以在 c/c++ 中执行。
提前致谢。
3d - 适合一组方向的最紧锥体
给定 3D 中的一组单位方向d_1, ..., d_n ,
如何找到它们周围最紧的锥体?
例如,我怎样才能找到另一个单位向量m和一个表示角度的标量值alpha,例如:
foreach i, AngleBetween( m , d_i ) < alpha
阿尔法是最小的。
补充说明:方向可以跨越一半以上的空间。在这种情况下,“圆锥”是指从圆锥顶点开始并在圆锥轴给定角度内的一组半线。
plot - 将函数拟合到在 gnuplot 中使用频率创建的直方图
介绍
在 gnuplot 中,有一个解决方案可以从名为hist.dat
what likes的文件创建直方图
通过使用命令
从其他 SO 页面生成这样的直方图。
问题
我怎样才能使我的函数适合这个直方图?我定义了一个高斯函数并初始化了它的值
在输出中,函数很好地遵循直方图。
不幸的是,我无法使用命令适应此直方图
那么如何在不创建包含分箱值的新文件的情况下适应我的函数呢?
python - 将数据拟合到 python vs gnuplot 中的方程
我正在尝试将一些数据拟合到 python 中的方程中,但我遇到了一些困难。我有等式:
其中a
、和是拟合参数,ti
和是分别表示时间和位移的数组变量。该等式将通过一些迭代很好地适合 gnuplot,但在 python 中适合它会引发以下错误:-b
k
t
disp
完整的堆栈跟踪是:
我发现它ti
是导致问题的术语,如果你已经ti
固定在周围,那么配件就可以工作35.5
。我使用了电子表格,对于t
下的任何值ti
,等式抛出一个#VALUE
(可能是因为它是虚构的)
基本上有没有办法让python像gnuplot一样适应曲线(我假设它忽略了无效的结果)?我用于我的程序的fittiong部分的代码如下:
谢谢!!
matlab - 在 Matlab 中以编程方式从“基本拟合”GUI 再现“评估”功能
使用“基本拟合”工具时,一旦“拟合”完成,就有机会评估/估计某些点的值。我只能复制到绘图部分。我无法弄清楚如何以编程方式重现“评估”函数,以便我可以估计某些点的值并在我的代码中使用它们。我现在能做到这一点的唯一方法是通过图形用户界面,即从图形窗口的主菜单:“工具>>基本拟合”
我不确定我是否足够清楚,但请随时询问您是否需要更多信息。
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()
matlab - 将附加参数传递给 fmincon
我想在方程上拟合两个参数fmincon
。我这样做了,lsqnonlin
但我想利用fmincon
.
问题是我不能将测量数据的两个向量传递给y(x)
函数,例如,以我在lsqnonlin
.
我该怎么做?
我将如何通过测量的向量?
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 ,但我不知道如何解决这个问题。x
log(y)=log(a)+log(x)-log(b)
y=b*x.^a
y=b*exp.(x*a)
python - 使用 python 中的 optimize.leastsq 方法获取拟合参数的标准错误
我有一组数据(位移与时间),我使用 optimize.leastsq 方法拟合了几个方程。我现在正在寻找拟合参数的错误值。查看文档,输出的矩阵是雅可比矩阵,我必须将它乘以残差矩阵才能得到我的值。不幸的是,我不是统计学家,所以我有点沉迷于术语。
据我了解,我所需要的只是与我的拟合参数一起使用的协方差矩阵,因此我可以对对角线元素进行平方根以获得拟合参数的标准误差。我有一个模糊的记忆,协方差矩阵是 optimize.leastsq 方法的输出。这个对吗?如果不是,您将如何让残差矩阵将输出的雅可比矩阵乘以得到我的协方差矩阵?
任何帮助将不胜感激。我对 python 很陌生,因此如果这个问题被证明是一个基本问题,我深表歉意。
拟合代码如下:
args t 和 disp 是时间和位移值的数组(基本上只有 2 列数据)。我已经在代码顶部导入了所有需要的东西。输出提供的拟合值和矩阵如下:
无论如何,我怀疑这种合身性现在有点可疑。当我可以解决错误时,这将得到确认。
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
我也尝试用谷歌搜索错误代码,但找不到好的结果,所以这也无济于事。
知道这里可能有什么问题吗?还是有解决此问题的解决方法/更好的方法?
任何帮助将不胜感激。
谢谢