matlab樣條擬合插值後獲得曲線方程

2021-08-11 11:20:22 字數 3179 閱讀 4901

1樓:匿名使用者

網頁連結檢視**中*pp - 分段多項式*部分通過pp=spline(x,y)

得到結構體,然後呼叫

pp.coefs

檢視每個分段下的多項式的係數

注意- 對於區間 [x1,x2] 上的係數 [a,b,c,d],對應的多項式為

f(x)=a(x−x1)^3+b(x−x1)^2+c(x−x1)+d .

2樓:真

這些插值方法最後一般得到的是分段的多項式函式,有pp或b兩種儲存形式。

舉個例子

clear;clc;

x=1:4;

y=sin(x);

p=spline(x,y)

執行後可以看到結構體p如下

p =form: 'pp'

breaks: [1 2 3 4]

coefs: [3x4 double]

pieces: 3

order: 4

dim: 1

它是一個3段多項式分段函式(pp),斷點為[1 2 3 4](即1~2、2~3、3~4三段),每個分段函式為一個多項式,多項式的係數儲存在coefs裡,每一行代表一個分段函式。

輸入p.coefs

ans =

0.1177 -0.7711 0.7212 0.8415

0.1177 -0.4180 -0.4679 0.9093

0.1177 -0.0649 -0.9508 0.1411

就可以知道多項式的表示式了,比如第二行表示函式:0.1177*(x-2)^3-0.4180*(x-2)^2 -0.4679*(x-2)+0.9093(這個2就是斷點)

這個分段函式的定義域為2~3,如果你要算2.5的插值,只要把他代入這個函式,就得到了這個多項式即可,當然用matlab只要輸入命令ppval(p,2.5)就可以了

求問,matlab來做三次樣條插值,如何得到插值的函式表示式

3樓:yueyue元

x=[1:1:10];

y=[2:2:20];

pp=interp1(x,y,'spline','pp')

breaks=pp.breaks

coefs=pp.coefs

三次樣條插值

du(cubic spline interpolation)簡稱spline插值,是通過一系列形值zhi點的一條光dao滑曲線,數學上專通過求解屬三彎矩方程組得出曲線函式組的過程。

實際計算時還需要引入邊界條件才能完成計算。一般的計算方法書上都沒有說明非扭結邊界的定義,但數值計算軟體如matlab都把非扭結邊界條件作為預設的邊界條件。

在工程上,構造三次樣條插值函式通常有兩種方法:

一是以給定插值結點處得二階導數值作為未知數來求解,而工程上稱二階導數為彎矩,因此,這種方法成為三彎矩插值。

二是以給定插值結點處得一階導數作為未知數來求解,而一階導數右稱為斜率,因此,這種方法稱為三斜率插值。

4樓:宇逸

>> x=[0.2:0.2:1.0];

y=[0.98 0.92 0.81 0.64 0.38];

>> pp=spline(x,y)

>> pp.coefs

ans =

-0.1042 -0.5625 -0.

1833 0.9800-0.1042 -0.

6250 -0.4208 0.9200-0.

7292 -0.6875 -0.6833 0.

8100-0.7292 -1.1250 -1.

0458 0.6400返回的是三次bai樣條插

du值zhi函dao數每段回

的係數,三次樣條插值每段是三次多項式。答

5樓:小標悠悠

clcclear

x=[0.2:0.2:1.0];

y=[0.98 0.92 0.81 0.64 0.38];

figure(3)

plot(x,y)

hold on

p=spline(x,y);

y=ppval(p,x);

plot(x,y,'k')

hold off

6樓:劉施施

=[0.2:0.2:1.0]; y=[0.98 0.92 0.81 0.64 0.38];

matlab中spline求三次樣條插值的函式表示式

7樓:匿名使用者

x = -4:4; y = [0 .15 1.12 2.36 2.36 1.46 .49 .06 0];

cs = spline(x,[0 y 0]);

xx = linspace(-4,4,101);

plot(x,y,'o',xx,ppval(cs,xx),'-');

例如上述matlab自帶的例子,

cs.breaks是各段擬合曲線的段點,如上述**,結果為[-4 -3 -2 -1 0 1 2 3 4]

cs.coefs是給段擬合曲線的擬合係數,[-4 -3]這段區間的曲線表示式為

y = 0.2034*(x+4)^3  - 0.0534*(x+3)^2

matlab中插值擬合的問題,我用數值方法求得微分方程後,然後畫出了該函式的曲線。

8樓:匿名使用者

你的微分方程及初始條件貼出來嗎?可以試著幫你解決。

matlab曲線擬合和曲線插值問題

9樓:匿名使用者

先輸入x=[1 1.5 .......];

y=[-1.4 2.7 ......];

p=polyfit(x,y,2);%二次多項式p=polyfit(x,y,3);%三次多項式......

p=polyfit(x,y,10);%十次多項式其中p是一個

行向量,版p(1)儲存最高次冪的多項式係數,知道權最後一個儲存常數項例如 p=polyfit(x,y,2);就返回長度為3的p,代表多項式

p(x)=p(1)*x^2+p(2)*x+p(3);

用函式polyval(p,x)就可以計算多項式的值輸入時間t序列

輸入溫服度t序列

interp1(t,t,[10 12],'spline')

matlab高手進插值與擬合,MATLAB中插值與擬合的聯絡與區別

clc clear xdata 0 1 2 3 4 5 6 7 8 9 ydata 2.86,2.09,2.26,1.09,0.75,1.80,1.56,0.40,1.63,2.15 三次樣條插值 pp1 spline xdata,ydata 顯示的是抄每段內的插值多項式的係數,階次由高到低disp...

資料插值與曲線擬合有什麼不同點,樣條擬合和曲線擬合有什麼區別。。插值是幹嘛的呀

插值函式是必須得滿足原始資料點的座標的,而擬合則要求擬合函式整體最接近原始資料點,而不一定要必須經過原始資料點 擬合與插值的區別?1 在含義上不同 插值是指函式在多個離散點上的函式值或導數資訊。通過求解函式中待定形式和待定係數的插值函式,該函式滿足給定離散點的約束。插值是離散函式逼近的重要方法,利用...

擬合與插值的區別資料擬合與插值多項式有什麼不同

1 在含義上不同 插值是指函式在多個離散點上的函式值或導數資訊。通過求解函式中待定形式和待定係數的插值函式,該函式滿足給定離散點的約束。插值是離散函式逼近的重要方法,利用它可通過函式在有限個點處的取值狀況,估算出函式在其他點處的近似值。擬合是指將平面上的一系列點與光滑曲線連線起來。因為這個曲線有無數...