广义多项式拟合
- 更新时间2025-07-30
- 阅读时长6分钟
通过最小二乘法、最小绝对残差或Bisquare方法返回数据集(X, Y)的多项式阶数的多项式拟合。

输入/输出
系数约束
—
系数约束通过将某个阶数设置为系数,指定某些阶数上多项式系数的约束。如某些多项式系数的确切值已知,则可使用系数约束。
多项式阶数
—
多项式阶数指定拟合数据集合的多项式阶数。默认值为2。 多项式阶数必须大于等于0。如多项式阶数小于0,VI将把多项式系数设置为空数组并返回错误。在实际应用中,多项式阶数小于10。如多项式阶数大于25,VI将设置多项式系数为零并返回警告。如果多项式阶数很高,则大范围的X会使多项式拟合结果发散。
Y
—
Y是由因变值组成的数组。Y中的采样点数必须大于等于多项式阶数。如采样点数小于等于多项式阶数,VI可设置多项式系数为空数组并返回错误。
X
—
X是由自变量组成的数组。X中的采样点数必须大于等于多项式阶数。如采样点数小于等于多项式阶数,VI可设置多项式系数为空数组并返回错误。X的元素数必须等于Y的元素数。
权重
—
权重是观测点(X, Y)的权重数组。权重的大小必须与Y相同。如未连线输入至权重,VI可设置权重的所有元素为1。 如权重中的某个元素小于0,该VI将使用元素的绝对值。
容忍度
—
容差可确定使用最小绝对残差方法时,何时停止多项式系数的迭代调整。对于最小绝对残差方法,如连续两次迭代之间残差的相对差小于容差,该VI将返回多项式系数。对于Bisquare方法,如两次连续的交互之间多项式系数的相对差小于容差,该VI将返回结果多项式系数。 如容差小于等于0,VI将设置容差为0.0001。
方法
—
方法指定拟合方法。
算法
—
算法指定VI用于计算最佳多项式拟合的算法。其它算法无效时,可使用不满秩H的SVD算法。
最佳多项式拟合
—
最佳多项式拟合返回与输入值有最佳匹配的多项式曲线的Y值。
多项式系数
—
多项式系数返回拟合模型的系数,按幂的升序排列。多项式系数中元素的总量为m+1,m是多项式的阶数。
错误
—
错误返回VI的任何错误或警告。将错误连接至错误代码至错误簇转换VI,可将错误代码或警告转换为错误簇。
残差
—
残差返回拟合模型的加权平均误差。如方法设为最小绝对残差法,则残差为加权平均绝对误差。否则残差为加权均方误差。 |
该VI可使数据拟合为由下列等式表示的多项式函数的一般式:

f为最佳多项式拟合的输出序列,x是输入序列X,a是多项式系数,m是多项式阶数。该VI查找能最佳拟合观测点(X, Y)的a的值。
下列等式为通用多项式拟合算法得到的多项式曲线:

如Y的噪声为高斯分布,可使用最小二乘法。下图为使用该方法的广义多项式拟合。

如选择最小二乘法,该VI可依据下列等式最小化残差,查找多项式模型的多项式系数:

N是Y的长度,wi是权重的第i个元素,fi是最佳多项式拟合的第i个元素,yi是Y的第i个元素。
最小绝对残差和Bisquare拟合方法是可靠的拟合方法。如存在超出区间的数,可使用上述方法。下图为对最小二乘法、最小绝对残差和Bisquare拟合方法的比较结果。在大多数情况下,Bisquare方法对于超出区间的数不如最小绝对残差方法敏感。

如选择最小绝对残差法,该VI可依据下列等式最小化残差,查找多项式模型的多项式系数:

如拟合方法为Bisquare方法,该VI可采用迭代过程得到多项式系数,然后使用最小二乘法中的公式计算残差。如下图所示。

范例
请参考LabVIEW附带的下列范例文件。
- labview\examples\Mathematics\Fitting\Regression Solver.vi
系数约束
—
阶数
—
系数
—
Y
—
方法
—
最佳多项式拟合
—
错误
—
残差
—