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