Matlab(如何适应多个数据集)

时间:2014-11-20 20:22:55

标签: matlab curve-fitting

假设我有矢量x1,y1,x2,y2,我想用不同的颜色绘制这个数据(x1,y1)和(x2,y2)。矢量x1,y1的尺寸与x2,y2不同。 比我想要将所有这些数据拟合在一起,具有相同的多项式拟合度,1。

有人可以帮助我吗?

1 个答案:

答案 0 :(得分:2)

您只需使用plot

绘制矢量图
plot(x1, y1, 'r.', x2, y2, 'b.')

其中'r.'指定第一对应以红点绘制,'b.'指定第二对应以蓝点绘制。您可以在plot的帮助文档中找到更完整的颜色/标记选项列表。

要将多项式拟合为(x,y)数据,可以使用polyfit

poly_coeffs = polyfit( x, y, poly_degree )

如果要将相同的多项式拟合到两组数据,则应将矢量连接成单个矢量,例如: (在行向量的情况下):

x = [x1, x2]
y = [y1, y2]
poly_coeffs = polyfit( x, y, poly_degree )

如果你有列向量,你可以使用x = [x1; x2](注意分号而不是逗号)来垂直连接它们。

现在,如果您想在原始数据的顶部绘制多项式拟合,可以将其添加到plot的参数列表中:

curve_x = linspace( min(x), max(x), 100 );
curve_y = polyval( poly_coeffs, curve_x );
plot(x1,y1,'r.', x2,y2,'b.', curve_x,curve_y,'k-');