2014-11-20 165 views
0

假設我有矢量x1,y1,x2,y2,並且我想用不同的顏色繪製這個數據(x1,y1)和(x2,y2)。矢量x1,y1的大小與x2,y2不同。 比我還想將所有這些數據放在一起,具有相同的多項式擬合度,度數爲1.Matlab(如何擬合多個數據集)

有人可以幫助我做到這一點嗎?

回答

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-'); 
+0

非常感謝。這是我想要的。我也嘗試了3組矢量,它運行良好。謝謝! – user3714919 2014-11-20 22:53:37