Main Content

prepareSurfaceData

为曲面拟合准备数据输入

说明

示例

[XOut, YOut, ZOut] = prepareSurfaceData(XIn, YIn, ZIn) 根据需要对数据进行变换,以便于使用 fit 函数进行曲面拟合。函数按如下方式变换数据:

  • 对于网格向量,将行 (YIn) 和列 (XIn) 标题变换为与 ZIn 大小相同的数组 YOutXOut。如果 XInYIn 颠倒,则发出警告。

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

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

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

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

[XOut, YOut, ZOut, WOut] = prepareSurfaceData(XIn, YIn, ZIn, WIn) 对包括权重 (WIn) 在内的数据进行变换,以便于使用 fit 函数进行曲面拟合。

如果您的数据不是列向量形式,请使用 prepareSurfaceData。例如,您有 3 个矩阵。如果您有网格向量,也可以使用 prepareSurfaceData,其中 length(XIn) = n, length(YIn) = msize(ZIn) = [m,n]。您必须使用 prepareSurfaceData 来处理网格向量数据以用于 fit 函数。如果您使用曲线拟合器,可以选择网格向量数据,它会自动为您转换数据。

如果您的数据在 MATLAB® 表中,则不需要使用 prepareSurfaceData。您可以使用 tablename.varname 形式将 MATLAB 表中的变量指定为 fit 函数的输入。

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

示例

全部折叠

创建一些未经预处理的不适合拟合函数的数据,如非双精度值、非列数据,或者包含 NanInf 值的数据。

x = int32(1:4);
y = int32(1:5);
z = rand(5,4);
z(13) = Inf;
z(3) = NaN; 

使用 prepareSurfaceData 将行转换为列,将非双精度值转换为双精度值,并删除 NanInf

[xo,yo,zo] = prepareSurfaceData(x,y,z); 

该函数显示的警告与您在曲线拟合器中选择此数据时看到的警告相同。这些警告告诉您如何处理数据以适合 fit 函数。

使用 whos 检查 prepareSurfaceData 是否已将变量转换为双精度列向量。

whos xo yo zo 

输入参数

全部折叠

要准备用于曲面拟合的 X 数据变量,指定为标量、向量或矩阵。

数据类型: double

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

数据类型: double

要准备用于曲面拟合的 Z 数据变量,指定为标量、向量或矩阵。

数据类型: double

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

数据类型: double

输出参量

全部折叠

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

数据类型: double

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

数据类型: double

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

数据类型: double

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

数据类型: double

版本历史记录

在 R2010b 中推出