样条插值及应用深入研究

发布时间 : 星期日 文章样条插值及应用深入研究更新完毕开始阅读

学院: 研究生学院 专业: 机械工程 组号: 39 成绩:

5、给定数据表如下:

xj yj

0.25 0.5000 0.30 0.5477 0.39 0.6245 0.45 0.6708 0.53 0.7280 试求三次样条插值S(x),并满足条件:

(1) S'(0.25)?1.0000,S'(0.53)?0.6868: (2) S''(0.25)?S''(0.53)?0

(1) 解:

Mathematics程序: Clear[x,y,a,b,c,M]

{x[1],x[2],x[3],x[4],x[5]}={0.25,0.30,0.39,0.45,0.53}; {y[1],y[2],y[3],y[4],y[5]}={0.5,0.5477,0.6245,0.6708,0.728}; B=Table[{x[i],y[i]},{i,1,5}]; y'[1]=1; y'[5]=0.6868;

{h[1],h[2],h[3],h[4]}={0.05,0.09,0.06,0.08}; a[j_]:=h[j-1]/(h[j-1]+h[j]); a[5]=1; b[1]=1; b[j_]:=1-a[j];

c[1]=6/h[1]((y[2]-y[1])/h[1]-y'[1]);

-49-

学院: 研究生学院 专业: 机械工程 组号: 39 成绩:

c[j_]:=6((y[j+1]-y[j])/h[j]-(y[j]-y[j-1])/h[j-1])/(h[j-1]+h[j]); c[5]=6/h[4](y'[5]-(y[5]-y[4])/h[4]);

A=Table[Switch[i-j,-1,b[j-1],0,2,1,a[j+1],_,0],{i,1,5},{j,1,5}]; MatrixForm[%] CC=Table[c[j],{j,1,5}]; MatrixForm[%] LinearSolve[A,CC]; MatrixForm[%];

M[j_]:=LinearSolve[A,CC][[j]] Table[M[j],{j,1,5}]

S[j_]:=M[j+1](x-x[j])^3/(6h[j])-M[j](x-x[j+1])^3/(6h[j])+ (y[j+1]-M[j+1]h[j]^2/6)(x-x[j])/h[j]- (y[j]-M[j]h[j]^2/6)(x-x[j+1])/h[j] Table[S[j],{j,1,4}]; Expand[%]; MatrixForm[%]

g1=Plot[%[[1]],{x,0.25,0.30}] g2=Plot[%%[[2]],{x,0.30,0.39}] g3=Plot[%%%[[3]],{x,0.39,0.45}] g4=Plot[%%%%[[4]],{x,0.45,0.53}]

g5=ListPlot[B,Prolog->AbsolutePointSize[15]] Show[g1,g2,g3,g4,g5,Prolog->AbsolutePointSize[15]] 运行结果如下:

-50-

联系合同范文客服:xxxxx#qq.com(#替换为@)