用三弯矩法求解三次样条插值函数_精品文档.doc
- 文档编号:966313
- 上传时间:2022-10-14
- 格式:DOC
- 页数:3
- 大小:36.50KB
用三弯矩法求解三次样条插值函数_精品文档.doc
《用三弯矩法求解三次样条插值函数_精品文档.doc》由会员分享,可在线阅读,更多相关《用三弯矩法求解三次样条插值函数_精品文档.doc(3页珍藏版)》请在冰豆网上搜索。
教材76页例题:
用三弯矩法求三次样条插值函数s(x)。
allclear;
A=[00
10.5
22.0
31.5];
B=[00.2
3-1];
[m,n]=size(A);
fori=1:
(m-1)
h(i)=A(i+1,1)-A(i,1);
f(i)=(A(i+1,2)-A(i,2))/h(i);
end
fori=1:
(m-2)
u(i)=h(i)/(h(i)+h(i+1));
l(i+1)=1-u(i);
d(i+1)=6*(f(i+1)-f(i))/(h(i)+h(i+1));
end
u(m-1)=1;
l
(1)=1;
d
(1)=6*(f
(1)-B(1,2))/h
(1);
d(m)=6*(B(2,2)-f(m-1))/h(m-1);
C=2*eye(m);
fori=1:
(m-1)
C(i,i+1)=l(i);
C(i+1,i)=u(i);
end
disp('三弯矩方程组的系数矩阵:
');
C
disp('常数向量:
');
d=d'
C1=[C,d];
w
(1)=C1(1,1);
y
(1)=d
(1)/w
(1);
fori=2:
m
r(i-1)=l(i-1)/w(i-1);
w(i)=C1(i,i)-u(i-1)*r(i-1);
y(i)=(d(i)-u(i-1)*y(i-1))/w(i);
end
M(m)=y(m);
fori=(m-1):
1
M(i)=y(i)-r(i)*M(i+1);
end
disp('三弯矩方程组的解:
');
M'
symsx;
fori=1:
m-1
disp('区间:
');
[A(i,1),A(i+1,1)]
disp('s(x)表达式:
')
M(i)*(A(i+1,1)-x)^3/(6*h(i))+M(i+1)*(x-A(i,1))^3/(6*h(i))+(A(i,2)-M(i)*h(i)^2/6)*(A(i+1,1)-x)/h(i)+(A(i+1,2)-M(i+1)*h(i)^2/6)*(x-A(i,1))/h(i)
end
运行结果:
三弯矩方程组的系数矩阵:
C=
2.00001.000000
0.50002.00000.50000
00.50002.00000.5000
001.00002.0000
常数向量:
d=
1.8000
3.0000
-6.0000
-3.0000
三弯矩方程组的解:
ans=
-0.3600
2.5200
-3.7200
0.3600
区间:
ans=
01
s(x)表达式:
ans=
-3/50*(1-x)^3+21/50*x^3+3/50+1/50*x
区间:
ans=
12
s(x)表达式:
ans=
21/50*(2-x)^3-31/50*(x-1)^3-123/50+127/50*x
区间:
ans=
23
s(x)表达式:
ans=
-31/50*(3-x)^3+3/50*(x-2)^3+249/50-59/50*x
>>
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 弯矩 求解 三次 样条插值 函数 精品 文档