2010-09-30 77 views
2

從一條曲線的曲線開始,可以獲得該曲線的參數方程嗎?matlab插值

特別地,假設x = {1 2 3 4 5 6 ....} x軸,並且y = {a b c d e f ....}相應的y軸。我有情節(x,y)。

現在,我如何獲得描述繪製曲線的方程?可以顯示從樣條插補開始的參數方程?

謝謝

+0

參數或多項式?你需要一個相應的't'參數變量,除非你假設它只是元素數。 – Doresoom 2010-09-30 15:29:38

回答

2

您正在詢問兩個數據集之間的函數/映射。瞭解所涉及的物理,可以通過對系統進行建模來導出函數。寫下微分方程並解決它。

只剩下兩個數據系列,一個輸入和一個帶有「黑匣子」的輸出可以用一個任意函數逼近該系列。你可以用多項式函數

y = a*x^2 + b*x + c 

鑑於你輸入向量x和你的輸出向量y開始,參數a,b,c必須是確定應用適應度函數。

在MathWorks文檔中有一個Polynomial Curve Fitting的示例。

6

如果你想顯示圖形旁邊一個多項式擬合函數,下面的例子應該有所幫助:

x=-3:.1:3; 
y=4*x.^3-5*x.^2-7.*x+2+10*rand(1,61); 
p=polyfit(x,y,3); %# third order polynomial fit, p=[a,b,c,d] of ax^3+bx^2+cx+d 
yfit=polyval(p,x); %# evaluate the curve fit over x 
plot(x,y,'.') 
hold on 
plot(x,yfit,'-g') 
equation=sprintf('y=%2.2gx^3+%2.2gx^2+%2.2gx+%2.2g',p); %# format string for equation 
equation=strrep(equation,'+-','-'); %# replace any redundant signs 
text(-1,-80,equation) %# place equation string on graph 
legend('Data','Fit','Location','northwest') 

alt text

+0

謝謝你非常有用的解釋! – vittorio 2010-10-01 08:35:35

5

去年,我寫了一組三個blogs的羅蘭,上建模/插入曲線的話題。他們可能會涵蓋你的一些問題,儘管我從來沒有找到時間添加另外3個博客來完成這個話題,讓我滿意。也許有一天我會完成這件事。

問題是要認識到有無限多的曲線會插入一組數據點。樣條是一個不錯的選擇,因爲它可以表現得很好。但是,樣條沒有簡單的「等式」來記錄。相反,它有許多多項式段,拼湊在一起表現良好。

0

曲線擬合工具提供了一個靈活的圖形用戶界面,您可以交互地將曲線和曲面擬合到數據和視圖。您可以:

創建,打印和比較多個擬合

使用線性或非線性迴歸,插值,局部平滑回歸,或自定義方程

查看擬合優度擬合統計,顯示confidenceintervals和殘差,除去異常值和評估與validationdata

配合自動生成用於裝配和plottingsurfaces代碼,或出口配合到工作區用於進一步分析