2014-05-20 103 views
1

我有這樣在Matlab中找到線性系統的解決方案?

y = a*x+b; 

我有套yx

y = [1 2 3 4 5] 
x = [6 7 8 9 10] 

我想找到ab,但不是一個解決方案的方程;所有解決方案我想,我必須使用polyfit,但我不知道如何做到這一點,我不明白爲什麼我必須使用polyfit?你能解釋一下嗎?

+0

這個問題只有一種解決方法: a = 1 b = -5 – onewhaleid

+0

@onewhaleid這可能是一個例子。 – Lumen

+0

是的,這只是我需要解決方案集的例子。爲和爲b。 –

回答

-1

polyfit documentation

p = polyfit(x,y,n)發現的 度n適合的數據,p(x(i))y(i)的多項式p(x)的係數,在最小二乘 感。結果p是含有降權力 多項式係數長度n+1的行向量:

所以,你有數據y在x座標x,並且要適應一次多項式它。因此,使用

p=polyfit(x,y,1); 

然後p(1)=ap(2)=b,或y=p(1)*x+p(2)

還有其他方法可以做到這一點,但polyfit非常簡單。

+0

但'polyfit'返回「所有的解決方案?因爲它基於最小二乘法,我猜它只是返回一個解決方案 – horchler

+0

我認爲OP有多組x和y解決因爲它基於最小二乘,它應該返回錯誤率最低的解決方案,我不認爲可能有多個解決方案具有相同的錯誤? – David