2015-05-19 29 views
0

我有一組數據,它們在繪製x vs y時會給出如圖figure所示的圖。我想對這些數據擬合一個拋物線,並且我嘗試過使用MATLAB中的曲線擬合工具。唯一的問題是我得到的答案如here。我知道座標是什麼中心或拋物線的高峯應該在什麼位置。但是當我使用自定義方程選項時,我得到錯誤「這個表達式沒有係數或者非標量係數」。我是新來的。有什麼方法可以指定中心並正確地獲得擬合?中心點是(352,595)。謝謝。如何通過給出中心點來擬合MATLAB中的拋物線數據?

enter image description here

+2

但這不是拋物線!那麼這只是'x = a * y^2 + b'時尚,而不是標準!嘗試交換你的X/Y座標 –

+0

這實際上有用,謝謝!但是,我無法得到裝在這裏的拋物線?通過指定中心,就像問題一樣? –

回答

0

您在黑色手畫的東西不是拋物線。它不遵循y=a*x^2+b公式,因此你無法適應它。它實際上遵循y=±sqrt(a*x)+b。我不確定你是否可以對這個方程擬合一個函數(實際上他們是2個方程)。

正如評論所建議的那樣,您可以做的是交換X/Y座標並以這種方式調整數據。然後,您可以對結果拋物線進行數值插值,然後再次交換座標以使其具有原始形式。

但是,請注意,如果您這樣做,您將爲每個X有2個解決方案,也沒有很多解決方案。

+0

我正在遵循的論文給出了拋物線的公式。它的形式是x-xcenter = a(y-ycenter)^ 2。我期待的是一個C形拋物線,適合我的數據情節。但是,如果沒有指定xcenter和ycenter值,就不會發生這種情況。交換軸確實有效,但如果我不這樣做,情況會更好。 –

+0

@SuryaRajan如果你交換軸,你可以擬合一個拋物線,因爲方程是'x-xcenter = a(y-ycenter)^ 2' < - 那一個現在。那就是你在交換X/Y時做的事情,從'y-ycenter =±sqrt(a * x-xcenter)'轉換爲'x-xcenter = a(y-ycenter)^ 2' –

相關問題