0
假設我有矢量x1,y1,x2,y2,並且我想用不同的顏色繪製這個數據(x1,y1)和(x2,y2)。矢量x1,y1的大小與x2,y2不同。 比我還想將所有這些數據放在一起,具有相同的多項式擬合度,度數爲1.Matlab(如何擬合多個數據集)
有人可以幫助我做到這一點嗎?
假設我有矢量x1,y1,x2,y2,並且我想用不同的顏色繪製這個數據(x1,y1)和(x2,y2)。矢量x1,y1的大小與x2,y2不同。 比我還想將所有這些數據放在一起,具有相同的多項式擬合度,度數爲1.Matlab(如何擬合多個數據集)
有人可以幫助我做到這一點嗎?
您可以繪製簡單地使用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-');
非常感謝。這是我想要的。我也嘗試了3組矢量,它運行良好。謝謝! – user3714919 2014-11-20 22:53:37