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線性擬合
刻舟不為劍 線性擬合如下 x 0 20 40 60 100 130 160 190 y 18 17.586 17.136 16.704 15.84 15.129 14.544 13.896 a polyfit x,y,1 xi 0 0.001 200 yi polyval a,xi plot x,y...
matlab擬合問題
直接用左除就行了 定義x和y為如下形式 y y1 y2.y56 x 1 x11 x12 x16 1 x21 x22 x26 1 x56,1 x56,2 x56,6 然後a x y 就出來了 曲線你有6個自變數怎麼畫啊 你把a0,a1,a2,a3,a4,a5,a6看成未知數。把你的56個資料代入 y1...
matlab三維散點圖的擬合,matlab三維散點圖的擬合
風箏等風 用引數方程。要根據具體的資料具體分析。資料也許不一定適合用曲線擬合,而是在某個曲面上。如果用曲線擬合,一般可考慮用引數方程。引數方程和函式很相似 它們都是由一些在指定的 集的數,稱為引數或自變數,以決定因變數的結果。例如在運動學,引數通常是 時間 而方程的結果是速度 位置等。定義 一般的,...