问题标签 [least-squares]

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 投票
0 回答
447 浏览

curve-fitting - 非线性拟合

我有一些实验数据,我想使用最小二乘法(Levenberg-Marquardt)拟合它们以获得我的参数。

我正在使用两个非线性方程,并且正在使用一些计算程序(Origin 和 Matlab)。

第一个是:

带参数的非线性方程 (Alfa1,Alfa2,Alfa3,Alfa4,Alfa5)

第二个拟合方程是:

有理函数,即分子上的二次函数和分母上的第四多项式函数

我想使用这两个方程来拟合,但我不知道该怎么做。如果有人想要实验数据,我可以在这里发布。

非常感谢,

爱德华多

0 投票
2 回答
7717 浏览

python - 用 numpy 最小二乘拟合线性曲面

所以我想解方程z= a + b*y +c*x,。得到a,b,c. 即:使(平面)表面适合3D空间中的散点负载。

但我似乎找不到任何东西!我认为对于这样一个简单的问题会有一个简单的模块。

我试过了,其中 x,y,z 是数组;

我认为 coeffs = b,c 是否正确?还是我完全走错了方向。我似乎找不到任何其他可以在 3d 中使用的东西......

0 投票
2 回答
1504 浏览

matlab - 线性方程的错误解,或者为什么 A*(A\B) 不等于 B?

下面的结果怎么可能A*(A\D)不等于D

在此处输入图像描述

它应该产生D- 这是 Octave 文档的摘录:

线性方程组在数值分析中无处不在。要求解线性方程组 Ax = b,请使用左除法运算符 '\':x = A \ b

以下是想要尝试的人的代码:

有人说我 Matlab 产生完全相同的结果。

编辑 2012 年 10 月 10 日:在阅读完答案后,让我指出我犯了一个严重错误的地方:声称“A 等级为 3,因此系统 Ax=D 具有唯一解”是绝对错误的!顺便说一句,上面显示的文档非常令人不安。

0 投票
1 回答
10077 浏览

matlab - 非线性函数参数估计——matlab、lsqnonlin、fzero

我在拟合问题上遇到困难。从我得到的错误中,我想边界没有正确定义,我还没有找到解决方案。任何帮助将不胜感激。

解决相同问题的替代方法也被接受。

描述

我必须估计以下类型的非线性函数的参数:

受参数PAR = [A,B,C,D]在范围内

代码

为了解决这个问题,我使用了 Matlab 函数lsqnonlinfzero. 使用的简化代码报告如下。

问题分为四个功能:

  1. parameterEstimation- (lsqnonlin 函数的包装器)
  2. objectiveFunction_lsq- (参数估计的目标函数)
  3. yFun- (返回变量 y 值的函数)
  4. objectiveFunction_zero- (用于计算 y 的非线性方程的目标函数)

错误

在数据上运行代码我得到了这个警告

警告:下限长度 > 长度(x);忽略额外的界限

这个错误

初始用户提供的目标函数评估失败。LSQNONLIN 无法继续

这让我认为边界没有正确使用或没有正确调用,但问题可能出在其他地方。


0 投票
1 回答
2107 浏览

python - 在 python 中将 2D 函数拟合到具有错误的 2D 数据集

我有一个 2D np.array 作为实验数据,所以形状像(50,50),对应于我的凸轮的像素。对于每个点的错误,我都有第二个相同形状的 np.array。所以我的错误不仅仅是 sqrt(n)。我想使用这些错误进行拟合,因此使用 sum( (experimental - function)^2 / (error of the pixel)^2 )。

到目前为止,为了处理 2D,我只是将我的错误函数展平为最小平方的输入。这完美地工作。因此,考虑到错误,我有合适的参数。但是有一个问题:我如何告诉 leastsq 它也必须使用它们来计算我的 fitparameters 的误差?我查看了curve_fit,但它似乎绝对不是为我的情况设计的。在我看来,它需要一个函数,您可以将 x 作为输入。但是通过我的卷积,我不能简单地将 x 值转换为 y 值。

那么有没有办法用 minimumsq、curve_fit 或其他函数来做到这一点?

这是脚本,没有考虑 fitparameters 的错误:

0 投票
3 回答
3480 浏览

c++ - 将圆或样条拟合成一堆 3D 点

我有一些 3D 点,大致但清楚地形成了一个圆的一部分。我现在必须确定最适合所有点的圆。我认为必须有某种最适合的最小二乘,但我不知道如何开始。这些点按照它们在圆上的位置进行排序。我在每个点上也有一个估计的曲率。我需要圆的半径和平面。我必须使用 c/c++ 或使用外部脚本。

0 投票
1 回答
1484 浏览

matlab - matlab:lsqcurvefit,只有一个上限

简单的问题.. 是否可以只为 lsqcurvefit 设置一个上限,而不限制其他上限?

我需要类似的东西:

谢谢!

0 投票
2 回答
3015 浏览

python - Scipy LeastSq 误差线

我正在使用来自 SciPy 的 LeastSq 将实验光谱拟合到理论期望值。当然存在与实验值相关的误差。我怎样才能把这些喂给 LeastSq 或者我需要一个不同的例程?我在文档中找不到任何东西。

0 投票
1 回答
2894 浏览

eigen - 特征库 - 最小二乘

我想在使用 Eigen 库时使用最小二乘问题。我的选择是2,

  • sysAAA.jacobiSvd(Eigen::ComputeThinU | Eigen::ComputeThinV).solve(sysBBB)
  • sysAAA.colPivHouseholderQr().solve(sysBBB);

我一开始使用的是第一个,但事实证明它非常慢(1)(2)。

所以我去了第二个解决方案(其他方法不适合我的情况,因为它们需要特殊的矩阵 (2) )

colPivHouseholderQr().solve 是否给出最小二乘解?

我的印象是它没有(3),但我想在寻找“解决方法”之前确定。

  1. http://forum.kde.org/viewtopic.php?f=74&t=102088
  2. http://eigen.tuxfamily.org/dox/TopicLinearAlgebraDecompositions.html
  3. http://eigen.tuxfamily.org/dox/TutorialLinearAlgebra.html#TutorialLinAlgLeastsquares
0 投票
1 回答
1634 浏览

scipy - 使用 Python/Scipy 求解方程组以进行一组测量

我有一个物理测量仪器(带有称重传感器的力平台),它给了我三个值,A、B 和 C。但是,由于物理特性,这些值——应该是正交的——实际上是有些耦合的。测量设备,这会导致施加的力和扭矩的值与返回的值之间产生串扰。

然后,建议使用校准矩阵将测量值转换为对实际值的更好估计,如下所示:

在此处输入图像描述

问题是有必要执行一组测量,以便不同的measured(Fz, Mx, My)actual(Fz, Mx, My)最小二乘的以获得一些对整个系统最有效的 C 矩阵。

我可以解决ONE 测量的Ax = B问题scipy.linalg.lststq,甚至scipy.linalg.solve(给出一个精确的解决方案),但是我应该如何着手考虑一组不同的测量,每个测量都有自己的方程,给出一个可能不同的 3x3 矩阵?

非常感谢任何帮助,感谢您的阅读。