三次样条插值多项式
——计算物理实验作业四
陈万物理学2013级 130******** ●主程序:
clear,clc;
format rat
x = [1,4,9,16,25,36,49,64];
y = [1,2,3,4,5,6,7,8];
f1 = 0.5;
fn = 1/16;
[a,b,c,d,M,S] = spline(x,y,f1,fn);
●子程序1:
function [a,b,c,d,M,S]=spline(x,y,f1,fn)
% 三次样条插值函数
% x是插值节点的横坐标
% y是插值节点的纵坐标
% u是插值点的横坐标
% f1是左端点的一阶导数
% fn是右端点的一阶导数
% a是三对角矩阵对角线下边一行
% b是三对角矩阵对角线
% c是三对角矩阵对角线上边一行
% S是插值点的纵坐标
n = length(x);
h = zeros(1,n-1);
deltay = zeros(1,n);
miu = zeros(1,n-1);
lamda = zeros(1,n-1);
d = zeros(1,n-1);
for j = 1:n-1
h(j) = x(j+1)-x(j);
deltay(j) = y(j+1)-y(j);
end % 得到h矩阵
for j = 2:n-1
sumh = h(j-1) + h(j);