Main Content

prepareCurveData

为曲线拟合准备数据输入

说明

[XOut,YOut] = prepareCurveData(XIn,YIn) 用于在必要时变换数据,以便于使用 fit 函数进行曲线拟合。prepareCurveData 函数按如下方式变换数据:

  • 不管输入形状如何,都以列形式返回数据。如果元素数不匹配,则会出错。如果元素数匹配,但大小不同,则发出警告。

  • 将复数转换为实数(去除虚部)并对此转换发出警告。

  • 从数据中删除 NaNInf 并对此删除发出警告。

  • 将非双精度值转换为双精度值,并对此转换发出警告。

如果要进行 y 数据对其索引的曲线拟合,请将 XIn 指定为空。如果 XIn 为空,则 XOut 是由 YOut 的索引组成的向量。当仅有 y 数据时,fit 函数可使用向量 XOut 作为 x 数据。

示例

[XOut,YOut,WOut] = prepareCurveData(XIn,YIn,WIn) 用于变换数据,其中包括权重 (WIn),以便于使用 fit 函数进行曲线拟合。

当您从曲线拟合器生成代码时,生成的代码包括对 prepareCurveData(对于曲面拟合,则为 prepareSurfaceData)的调用。您可以使用原始数据或新数据作为输入参量,从命令行调用生成的文件以重新创建拟合和绘图。如果您使用新数据调用生成的文件,prepareCurveData 函数会在必要时将数据重构为双精度列并删除 NaNInf 或复数的虚部,以确保您可以使用任何可以在曲线拟合器中拟合的数据。

示例

全部折叠

以下命令加载示例 titanium 数据,其中 xy 是行向量。尝试将行用作 fit 函数的输入会生成错误。prepareCurveData 函数将 xy 重构为列以用于 fit 函数。

[x,y] = titanium();
[x,y] = prepareCurveData(x,y);

使用重构后的数据创建拟合并绘图。

f = fit(x,y,'smoothingspline');
plot(f,x,y)

Figure contains an axes object. The axes object with xlabel x, ylabel y contains 2 objects of type line. One or more of the lines displays its values using only markers These objects represent Data, Fitted curve.

输入参数

全部折叠

曲线拟合的 X 数据变量,指定为标量、向量或矩阵。XIn 可以为空。当您要进行 y 数据对索引 (x=1:length( y )) 的曲线拟合时,请指定空值 ([ ])。请参阅 YOut

数据类型: double

用于曲线拟合的 Y 数据变量,指定为标量、向量或矩阵。

数据类型: double

用于曲线拟合的权重变量,指定为标量、向量或矩阵。

数据类型: double

输出参量

全部折叠

为曲线拟合准备的 X 数据列变量,以向量形式返回。

如果 XIn 为空,则 XOut 是由 YOut 的索引组成的向量。当仅有 y 数据时,fit 函数可使用向量 XOut 作为 x 数据。

数据类型: double

为曲线拟合准备的 Y 数据列变量,以向量形式返回。

数据类型: double

为曲线拟合准备的权重列变量,以向量形式返回。

数据类型: double

版本历史记录

在 R2013a 中推出