问题标签 [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.
curve-fitting - 非线性拟合
我有一些实验数据,我想使用最小二乘法(Levenberg-Marquardt)拟合它们以获得我的参数。
我正在使用两个非线性方程,并且正在使用一些计算程序(Origin 和 Matlab)。
第一个是:
带参数的非线性方程 (Alfa1,Alfa2,Alfa3,Alfa4,Alfa5)
第二个拟合方程是:
有理函数,即分子上的二次函数和分母上的第四多项式函数
我想使用这两个方程来拟合,但我不知道该怎么做。如果有人想要实验数据,我可以在这里发布。
非常感谢,
爱德华多
python - 用 numpy 最小二乘拟合线性曲面
所以我想解方程z= a + b*y +c*x
,。得到a,b,c
. 即:使(平面)表面适合3D空间中的散点负载。
但我似乎找不到任何东西!我认为对于这样一个简单的问题会有一个简单的模块。
我试过了,其中 x,y,z 是数组;
我认为 coeffs = b,c 是否正确?还是我完全走错了方向。我似乎找不到任何其他可以在 3d 中使用的东西......
matlab - 线性方程的错误解,或者为什么 A*(A\B) 不等于 B?
下面的结果怎么可能A*(A\D)
不等于D
?
它应该产生D
- 这是 Octave 文档的摘录:
线性方程组在数值分析中无处不在。要求解线性方程组 Ax = b,请使用左除法运算符 '\':x = A \ b
以下是想要尝试的人的代码:
有人说我 Matlab 产生完全相同的结果。
编辑 2012 年 10 月 10 日:在阅读完答案后,让我指出我犯了一个严重错误的地方:声称“A 等级为 3,因此系统 Ax=D 具有唯一解”是绝对错误的!顺便说一句,上面显示的文档非常令人不安。
matlab - 非线性函数参数估计——matlab、lsqnonlin、fzero
我在拟合问题上遇到困难。从我得到的错误中,我想边界没有正确定义,我还没有找到解决方案。任何帮助将不胜感激。
解决相同问题的替代方法也被接受。
描述
我必须估计以下类型的非线性函数的参数:
受参数PAR = [A,B,C,D]
在范围内
代码
为了解决这个问题,我使用了 Matlab 函数lsqnonlin
和fzero
. 使用的简化代码报告如下。
问题分为四个功能:
parameterEstimation
- (lsqnonlin 函数的包装器)objectiveFunction_lsq
- (参数估计的目标函数)yFun
- (返回变量 y 值的函数)objectiveFunction_zero
- (用于计算 y 的非线性方程的目标函数)
错误
在数据上运行代码我得到了这个警告
警告:下限长度 > 长度(x);忽略额外的界限
这个错误
初始用户提供的目标函数评估失败。LSQNONLIN 无法继续
这让我认为边界没有正确使用或没有正确调用,但问题可能出在其他地方。
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 的错误:
c++ - 将圆或样条拟合成一堆 3D 点
我有一些 3D 点,大致但清楚地形成了一个圆的一部分。我现在必须确定最适合所有点的圆。我认为必须有某种最适合的最小二乘,但我不知道如何开始。这些点按照它们在圆上的位置进行排序。我在每个点上也有一个估计的曲率。我需要圆的半径和平面。我必须使用 c/c++ 或使用外部脚本。
matlab - matlab:lsqcurvefit,只有一个上限
简单的问题.. 是否可以只为 lsqcurvefit 设置一个上限,而不限制其他上限?
我需要类似的东西:
谢谢!
python - Scipy LeastSq 误差线
我正在使用来自 SciPy 的 LeastSq 将实验光谱拟合到理论期望值。当然存在与实验值相关的误差。我怎样才能把这些喂给 LeastSq 或者我需要一个不同的例程?我在文档中找不到任何东西。
eigen - 特征库 - 最小二乘
我想在使用 Eigen 库时使用最小二乘问题。我的选择是2,
- sysAAA.jacobiSvd(Eigen::ComputeThinU | Eigen::ComputeThinV).solve(sysBBB)
- sysAAA.colPivHouseholderQr().solve(sysBBB);
我一开始使用的是第一个,但事实证明它非常慢(1)(2)。
所以我去了第二个解决方案(其他方法不适合我的情况,因为它们需要特殊的矩阵 (2) )
colPivHouseholderQr().solve 是否给出最小二乘解?
我的印象是它没有(3),但我想在寻找“解决方法”之前确定。
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 矩阵?
非常感谢任何帮助,感谢您的阅读。