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