资源描述
%三次样条插值曲线symsxA=input(请输入节点:)11个节点要求以列向量表示点的坐标012345678910;45624563245X=A(1,:);Y=A(2,:);plot(X,Y,*);s=0.20.3;%输入边界条件m0=0.2;m10=0.3;H=;lanmda=;mu=;G=;fori=1:1:10%生成各相邻节点差值H=cat(1,H,X(i+1)-X(i);%cat:用来联结数组cat(1,A,B)相当于A;B.endforj=2:1:10%生成lanmdalanmda=cat(1,lanmda,H(j)/(H(j)+H(j-1);endforj=2:1:10%生成mumu=cat(1,mu,H(j-1)/(H(j)+H(j-1);endforj=2:1:10%生成gg=3*(mu(j-1)*(Y(j+1)-Y(j)/H(j)+lanmda(j-1)*(Y(j)-Y(j-1)/H(j-1);G=cat(1,G,g);endL=diag(lanmda(2:9),-1);M=diag(mu(1:8),1);B=2*eye(9);%eye为形成单位矩阵的函数XSJZ=M+L+B;%生成系数矩阵b=G+-lanmda(1)*s(1)0000000-mu(9)*s(2);m=XSJZb;%求解m1m9m=cat(1,cat(1,s(1),m),s(2);%连接数组fori=1:1:10x=X(i):0.01:X(i+1);S1=(1+2.*(x-X(i)./H(i).*(x-X(i+1)./H(i).人2)*Y(i)+(1-2.*(x-X(i+1)./H(i).*(x-X(i).人2).*Y(i+1)+(x-X(i).*(x-X(i+1)./H(i).人2).*m(i)+(x-X(i+1).*(x-X(i)./H(i).人2).*m(i+1);plot(x,S1,b);holdonend三次样条插值曲线图
展开阅读全文