原文自 :
matlab spline pp.coefs
如何運用matlab 三次樣條插值的問題,今天做作業,突然想用matlab搞搞。
題目如下:
清華大學出版社的《數值分析(第5版)》
p49,20題。
x=[0.25 0.3 0.39 0.45 0.53];
y=[ 0.5 0.5477 0.6245 0.6708 0.7280 ]
pp=csape(x,y,'second',[0,0.0]);
disp(pp.coefs);
其中coefs的含義是在xi-xi+1區間上的多項式是,例如coefs陣列第一行的意思是在x=0.25到x=0.3的區間上時表示式是-6.2652*(x-0.25)^3+0.9697*(x-0.25)^1+0.5;
-6.2652
0.0000
0.9697
0.5000
1.8813
-0.9398
0.9227
0.5477
-0.4600
-0.4318
0.7992
0.6245
2.1442
-0.5146
0.7424
0.6708
關於csape的用法引用自:
csape,是計算在各種邊界條件下的三次樣條插值。
pp = csape(x,y,conds)
其中conds主要有以下的選項variational(自然邊界條件,首末點二階導數均為0),second(指定首末點的二階導數),periodic(週期性邊界條件,首末點的0~2階導數相等),complete(給定導數情況,預設)
function pp = csape(x,y,conds,valconds)
%pp=csape(x,y,'變界型別','邊界值'),生成各種邊界條件的三次樣條插值. 其中,(x,y)為資料向量
%邊界型別可為:'complete',給定邊界一階導數.
% 'not-a-knot',非扭結條件,不用給邊界值.
% 'periodic',週期性邊界條件,不用給邊界值.
% 'second',給定邊界二階導數.
% 'variational',自然樣條(邊界二階導數為0)
% .%例 考慮資料
% x | 1 2 4 5
% ---|-------------
% y | 1 3 4 2
%邊界條件s''(1)=2.5,s''(5)=-3,
% x=[1 2 4 5];y=[1 3 4 2];
% pp=csape(x,y,'second',[2.5,-3]);pp.coefs
% xi=1:0.1:5;yi=ppval(pp,xi);
% plot(x,y,'o',xi,yi);
WPF 牛頓多項式插值和三次樣條插值法的簡單實現
折騰不少時間 牛頓插值法主要是在於差商,三次樣條主要矩陣,發現自己不會,又回頭整矩陣的,什麼線性方程的解法.簡直頭大 牛頓的差商,其實就是遞迴,雖然計算一次是可以用陣列存起來,但是寫出來的時候是遞迴感覺很爽,就滅有儲存各階段的結果,導致計算量大增,應該有個n方的時間把.剩下就是三次樣條,對於公式來看...
三次樣條插值
條件 1 輸入 x y f x 0 leq i leq n 2 要求擬合的曲線 s x 滿足 對於任意的 1 leq i leq n 1 在 x 處一階二階導數連續,s x 也連續,且 s x f x s x f x 求解過程 設 s m 對於區間 x x s x 是 x x 上的線性函式,所以設 ...
三次樣條插值 c
include include include include using namespace std double zuigan double a,double b,double c,double f,int n 追趕法求線性方程組 for int i 0 ifor int i n 2 i 0 i...