计算方法作业2.1
2015-10-07 19:29:01 2 举报
1、用不同的插值方法逼近龙格函数 ,x ∈[-5, 5],分析差异。 步骤:i ) 在区间[-5, 5]上取 7 个等距节点(n=6),分别用拉格朗日插值法、分段 三次埃尔米特插值法和分段三次样条插值法进行函数逼近(使用嵌固 边界条件,即两区间端点一阶导数已知); ii ) 在区间[-5, 5]上取 7 个切比雪夫点,通过拉格朗日插值法进行插值; iii ) 画出龙格函数及其插值函数在[-5, 5]区间上的图像并比较。
作者其他创作
大纲/内容
子程序END
带入公式算系数\tA1=M[0]/h[1]/6.0;\tA2=M[1]/h[1]/6.0;\tA3=y[1]/h[1]-h[1]*M[1]/6.0;\tA4=y[0]/h[1]-h[1]*M[0]/6.0;
\t得到 M[0]=(a-b)/2.0+c/3;\tM[1]=b-2.0/3.0*c;\tM[2]=c/3.0;
分段Hermite子程序
qx[i]=(A+B)/2.0+(B-A)/2.0*( cos( PI*(2.0*i+1)/(2.0*n+2) ) );
使用指针将x传递回主程序
START
//基础赋值D=x[1]-x[0];h0=f(x[0]);h1=f(x[1]);\t
if(i==j)continue;\ta[i]/=(x[i]-x[j]);
Lagrange子程序
输出系数
子函数END
将分段函数写成A1*(x[i+1]-x)^2+A2*(x[i+1]-x)^3+A3*(x-x[i])^2+A4*(x-x[i])^3的形式
Spline 子程序
主程序main
\tA1=3/(D*D)*y[0]+1/D*h0;\tA2=-2/(D*D*D)*y[0]-1/(D*D)*h0;\tA3=3/(D*D)*y[1]-1/D*h1;\tA4=-2/(D*D*D)*y[1]+1/(D*D)*h1;\t//算系数
寻找切比雪夫点子程序
a[i]*=y[i];求得系数a[i]
YES
将P(x)写成a0(x-x1)(x-x2)...+a1(x-x0)(x-x2)...+a2()+a3()...的形式
i=0;i7;i++
主程序END
0 条评论
下一页