返回目录

ThrMomem.m

text/plain
642 bytes
2025-10-22 16:16:00

文件预览

function [MatrMomem,d,M]=ThrMomem(vec_x,vec_y,y01,yn1)
%三次样条函数的三弯矩计算方法,默认问题1
[m,n]=size(vec_x);h=zeros(1,n-1);
h(1)=vec_x(2)-vec_x(1);miu=zeros(1,n);lambt=zeros(1,n);MatrMomem=zeros(n);d=zeros(1,n);
for j=2:n-1
   h(j)=vec_x(j+1)-vec_x(j);
   miu(j)=h(j-1)/(h(j-1)+h(j));
   lambt(j)=1-miu(j);
   d(j)=6*((vec_y(j+1)-vec_y(j))/h(j)-(vec_y(j)-vec_y(j-1))/h(j-1))/((h(j-1)+h(j)));
   MatrMomem(j,j-1:j+1)=[miu(j),2,lambt(j)];
end

d(1)=6*((vec_y(2)-vec_y(1))/h(1)-y01)/h(1);
d(n)=6*(yn1-(vec_y(n)-vec_y(n-1))/h(n-1))/h(n-1);

MatrMomem(1,1:2)=[2,1];
MatrMomem(n,n-1:n)=[1,2];
M=MatrMomem\d';