2013-12-11 46 views
1

我有一些數據,看起來像這樣NumPy的或SciPy的方式做多項式擬合在2個維度

Data

什麼是做基於x和y z的多項式地圖典型的方法是什麼?過去我使用過numpy.polyfit在2維中做類似的事情,所以我想我可以遍歷所有的點,然後用另一個1d的polyfit來適應這些答案。但是,似乎應該有一個更直接的方式。

順便說一下,圖片顯示了2組不同的數據,可以用不同的方程擬合。

+0

可能與一個顯著因素:http://stackoverflow.com/questions/7997152/python-3d -polynomial-surface-fit-order-dependent – aganders3

+0

我看到了這個,但它似乎是一個非常自定義的解決方案。我正在研究它,但還沒有得到它的工作。 – Matt

回答

3

在我看來,你真正想要的是用z(x,y)來擬合曲面(linearspline),但是你只有一行數據。這就像只用一個方程求解兩個未知數一樣 - 問題是,基本上,你怎麼能夠決定紅色線從A到B的差異是由PSI的變化還是V的變化引起的?
我的建議:

  • 將曲面擬合到您現有的數據集。你會得到一些東西。
  • 試圖獲取可以適合更精確的表面上
  • 做你首先需要更多的數據 - 在每個維度分別擬合函數,它們結合在一起,用最好的三種功能(一個安裝用於進行PSI ,適合V和合並的那個)。
  • 試圖將PSI和V帶的因素一些奇特的物理爲基礎的技巧結合到包含兩者
+1

我認爲你是對的,我想適應一個表面。我有更多的數據在不同的壓力和相同的電壓。讓我玩弄它一些,所以我可以肯定這是正確的答案。 – Matt

+0

雖然你說得對,我想要適合一個表面,但我相信我所尋找的是線性迴歸而不是樣條。樣條曲線將適合它,但在低級硬件上作爲線性化實現會稍微複雜一點。線性迴歸也可以用來擬合我要求的原始曲線,所以我認爲這將是最正確的答案 – Matt