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

输入/输出
Y
—
Y是由因变值组成的数组。Y的长度必须大于等于未知参数的元素个数。
X
—
X是由自变量组成的数组。X的元素数必须等于Y的元素数。
权重
—
权重是观测点(X, Y)的权重数组。权重必须与Y的大小相同。权重必须包含非零元素。如权重中的某个元素小于0,VI将使用元素的绝对值。 如权重未连线,VI将把权重的所有元素设置为1。
容忍度
—
容差指定何时停止幅值、衰减和偏移量的迭代调整。对于最小二乘和最小绝对残差方法,如两次连续的交互之间残差的相对差小于容差,该VI将返回残差。对于Bisquare方法,如两次连续的交互之间幅值、衰减和偏移量的相对差小于容差,该VI将返回幅值、衰减和偏移量。 如容差小于等于0,VI将设置容差为0.0001。
方法
—
方法指定拟合方法。
参数界限
—
参数界限包含幅值、衰减和偏移量的上下限。如知道特定参数的值,可设置参数的上下限为该值。
最佳指数拟合
—
最佳指数拟合返回拟合模型的Y值。
幅值
—
幅值返回拟合模型的幅值。
衰减
—
衰减返回拟合模型的衰减。
偏移量
—
偏移量返回拟合模型的偏移量。
错误
—
错误返回VI的任何错误或警告。将错误连接至错误代码至错误簇转换VI,可将错误代码或警告转换为错误簇。
残差
—
残差返回拟合模型的加权平均误差。如方法设为最小绝对残差法,则残差为加权平均绝对误差。否则残差为加权均方误差。 |
该VI通过循环调用广义最小二乘方法和Levenberg-Marquardt方法使数据拟合为通用形式由下列等式描述的指数曲线:
f = aebx + cx是输入序列X,a是幅值,b是衰减,c是偏移量。VI可查找最佳拟合观测(X, Y)的a、b和c的值。
下列等式用于描述由指数拟合算法得到的指数曲线:
y[i] = aebx[i] + c如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
- labview\examples\Mathematics\Fitting\Linear, Exp, and Power Fit.vi
Y
—
容忍度
—
方法
—
参数界限
—
最佳指数拟合
—
幅值
—
错误
—