2014-01-11 27 views
0

我想找到通過這個點(0,0)(pi,2.1)(pi,0)的二次方程;如何通過點放置多項式

這裏是我的代碼

x = [0 pi pi]'; 
V = fliplr(vander(x)); % or V = [x.^2 x x.^0] 
y = [0 2.1 0]'; 
c = V \ y 

的錯誤出現在第4行

Warning: Matrix is singular to working precision. 

的結果是:

c = 
    NaN 
    Inf 
    -Inf 

我試着用其他的數字來代替PI,它的工作原理。所以如果你能請幫助我的話,請一個人。

+1

好,你的矩陣是奇異的(它有秩1),所以它沒有相反的。 –

+0

你知道我能做些什麼嗎? – Nicholas

回答

0

該方法僅用於找到具有指定y值的多項式,其值爲,指定的x值。每個x值只能有一個y值。

如果你想找到一個二維曲線通過這些點,你需要引入一個參數,比如T,並找到x和y座標獨立公式是這樣的:

t = 0:2; 
x = [0 pi pi]'; 
y = [0 2.1 0]'; 
V = fliplr(vander(t')); 
cx = V \ x 
cy = V \ y 
+0

我只想找到二次方程。 – Nicholas

+0

這甚至意味着什麼?不可能存在二次方程,使得「a * pi^2 + b * pi + c == 2.1」並且同時'a * pi^2 + b * pi + c == 0',因爲這意味着'2.1 == 0'。這正是你想要計算的。 –

+0

好吧,就是這一點,我的老師把它當作家庭作業給了我,並且iv試圖去做。 – Nicholas