2012-10-03 134 views
4

我需要適應10個數據點(x,y)這個公式:MATLAB曲線擬合(橢圓形)

ay² + bxy + cx + dy + e = x² 

它告訴我,這是一個橢圓狀的方程。我不能用通常的曲線擬合工具來做,因爲它不是一個真正的功能(一個x對應於2 y s)。我不能使用橢圓曲線擬合,因爲橢圓方程中沒有c*xd*y。有任何想法嗎?

在此先感謝。

編輯:油和AK4749都給出正確的答案!感謝你們!

回答

6

它與變量[A B C d E]的線性系統。您可以使用\來解決它:

x=rand(10,1); 
y=rand(10,1); 
[y.^2,x.*y,x,y,ones(numel(x),1)]\x.^2 

ans = 

    -0.4437 %% a 
    1.1034 %% b 
    0.5337 %% c 
    -0.2808 %% d 
    0.0402 %% e 
+0

嗨,我很好奇\'在這種情況下使用最小二乘法?你知道,10個方程有5個未知數。 – user1532230

+1

@ user1532230,是的,它確實使用最小二乘法。你可以看到那裏的文檔:http://www.mathworks.fr/fr/help/matlab/ref/mldivide.html – Oli

+0

@油,謝謝。棒極了! – user1532230