数据选择
Curve Fitting Toolbox™ 提供两种对数据进行曲线和曲面拟合的方法。您可以在命令行中使用 fit
函数创建拟合,或使用曲线拟合器以交互方式创建拟合。这两种方法都要求您在拟合曲线或拟合曲面之前选择数据。曲线拟合要求您选择 Y 数据,然后(可选)选择 X 数据。曲面拟合要求您选择 X、Y 和 Z 数据。
将数据导入工作区
在选择数据之前,必须将数据导入 MATLAB® 基础工作区变量中。您可以使用 标准文件格式 中描述的函数导入采样数据或从文件中导入数据。
在命令行中选择要拟合的数据
要在命令行中选择数据,请在拟合过程中将数据传递给 fit
函数。
要选择用于曲线拟合的数据,请将 X 和 Y 数据保存为具有相同行数的列向量。然后,将列向量作为
x
和y
输入参量传递给fit
函数。要选择用于曲面拟合的数据,请执行以下操作之一:
将 X、Y 和 Z 数据保存为大小相同的列向量。然后,将这些向量作为
x
、y
和z
输入参量传递给fit
函数。将 X 和 Y 数据保存为一个包含两列的数组。将 Z 数据保存为列向量,其行数与数组的行数相同。将数组和向量分别作为
x
和y
输入参量传递给fit
函数。
有关在命令行中对数据进行曲线拟合的示例,请参阅拟合二次曲线。有关在命令行处中数据进行曲面拟合的示例,请参阅拟合多项式曲面。
选择要在曲线拟合器中拟合的数据
要以交互方式选择数据,请点击 App 选项卡显示 App 库,然后在数学、统计和优化部分中选择曲线拟合器。在曲线拟合器选项卡的数据部分中,点击选择数据。
曲线拟合器使用您选择的数据的快照。后续在工作区中对数据的更改不会影响拟合。要从 MATLAB 基础工作区更新拟合的数据,请首先更改变量选择,然后使用下拉列表控件重新选择变量。
选择用于曲线拟合的数据
要选择用于曲线拟合的数据,请在向量、表变量或数组中导入 Y 数据。如果您有 X 数据,请将其导入向量、表变量或数组中。X 和 Y 必须具有相同数量的元素。然后,执行以下操作之一:
在“选择拟合数据”对话框中,使用 X 数据和 Y 数据菜单选择变量。要选择包含在表变量中的数据,请选择表名称以在右侧显示第二个菜单。然后,从第二个菜单中选择表变量。
要绘制 Y 变量对其索引的图,请从 Y 数据菜单中只选择 Y 变量。
此“选择拟合数据”对话框显示为 X 数据选择的一个向量变量和为 Y 数据选择的一个表变量。
同样,您可以在工作区中选择任一数值变量用作权重,包括数值表列。如果指定权重,权重变量必须与其他数据变量具有相同数量的元素。
有关在曲线拟合器中拟合曲线和曲面的示例,请参阅交互式曲线和曲面拟合。
选择用于曲面拟合的数据
要选择用于曲面拟合的数据,请将 X、Y 和 Z 数据分别保存在一个向量、表变量或数组中。必须满足以下条件之一:
X、Y 和 Z 变量包含相同数量的元素。
注意
曲线拟合器期望数据变量大小相同。如果大小不同但元素数相同,该 App 会重构变量以创建拟合,并在结果窗格中显示警告。
X 变量是包含 n 个元素的向量,Y 变量是包含 m 个元素的向量,Z 变量是 m×n 矩阵。在这种情况下,Y 数据和 X 数据分别被视为表的行列标题。有关详细信息,请参阅表格数据。
注意
如果
Z
变量是一个 n×m 矩阵,App 会通过转置Z
来创建一个拟合,并在结果窗格中显示有关数据变换的警告。
在“选择拟合数据”对话框中,使用 X 数据、Y 数据和 Z 数据菜单选择变量。如果变量保存在表中,请选择表名称以在右侧显示第二个菜单。然后,从第二个菜单中选择表变量。
此“选择拟合数据”对话框显示为 X 数据、Y 数据和 Z 数据选择的向量变量。
同样,您可以在工作区中选择任一数值变量用作权重,包括数值表列。如果指定权重,权重变量必须与 Z 变量具有相同数量的元素。
有关使用曲线拟合器拟合曲线和曲面的示例,请参阅交互式曲线和曲面拟合。
表格数据
数据变量可以形成表格数据,其中 Y 数据和 X 数据分别表示表的行标题和列标题(有时称为断点),而 Z 数据包含表值。
当以下所有条件都适用时,大小是兼容的:
X 数据保存在长度为
n
的向量中。Y 数据保存在长度为
m
的向量中。Z 数据保存在大小为
[m,n]
的矩阵中。
下表以表格形式显示 n = 4
和 m = 3
的数据示例。
x(1) | x(2) | x(3) | x(4) | |
---|---|---|---|---|
y(1) | z(1,1) | z(1,2) | z(1,3) | z(1,4) |
y(2) | z(2,1) | z(2,2) | z(2,3) | z(2,4) |
y(3) | z(3,1) | z(3,2) | z(3,3) | z(3,4) |
对于使用 fit
函数在命令行中进行的曲面拟合,当数据为表格形式时,请使用 prepareSurfaceData
函数。
另请参阅
fit
| prepareSurfaceData
| prepareCurveData