数值分析作业

发布 2022-08-27 20:28:28 阅读 3830

理学院。

school of science

数值分析。课程设计报告。

一、课程设计题目;牛顿插值法及其应用。

二、实验算法步骤以及推算过程。

1、.基本理论。

插值法利用函数f (x)在某区间中若干点的函数值,作出适当的特定函数,在这些点上取已知值,在区间的其他点上用这特定函数的值作为函数f (x)的近似值。如果这特定函数是多项式,就称它为插值多项式。利用插值基函数很容易得到拉格朗日插值多项式,公式结构紧凑,在理论分析中甚为方便,但当插值节点增减时全部插值基函数均要随之变化,整个公式也将发生变化, 这在实际计算中是很不方便的,为了克服这一缺点,提出了牛顿插值。

牛顿插值通过求各阶差商,递推得到的一个公式:

f(x)=f[x0]+f[x0,x1](x-x0)+f[x0,x1,x2](x-x0)(x-x1)+.f[x0,..xn](x-x0)..x-xn-1)+rn(x)

牛顿插值与拉格朗日插值具有唯一性。

2、方法建立。

如果将直线用点斜式表示,即phy(x)=y0+(y1-y0)/(x1-x0)*(x-x0),由此导出牛顿插值公式。将上述公式变形得到:phy(x)=f(x0)+(y1-y0)/(x1-x0)*(x-x0)=f(x0)+(x-x0)f[x0,x1], 其中f[x0,x1]=(y0-y1)/(x0-x1)=(f(x0)-f(x1))/x0-x1).

3、算法描述。

假设满足插值条件的二次插值多项式一般形式为。

由插值条件可得

所以 类似的方法,可以得到一般的newton插值多项式为。

特别地,一次newton插值公式为。

二次newton插值公式为。

程序框图:程序**:

function [c,d]=newpoly(x,y)

n=length(x);

d=zeros(n,n);

d(:,1)=y';

for j=2:n

for k=j:n

d(k,j)=(d(k,j-1)-d(k-1,j-1))/x(k)-x(k-j+1));

endend

d c=d(n,n);

for k=(n-1):-1:1

c=conv(c,poly(x(k)))

m=length(c);

c(m)=c(m)+d(k,k);

end在命令窗口输入:

x=[0.1 0.2 0.3 0.4 0.5 0.6];

y=[0.09983 0.19867 0.29552 0.38942 0.47943 0.56464];

c,d]=newpoly(x,y)

运行结果:c =

d =将结果整理,得到newton插值多项式为:

运用matlab画出newton插值多项式的拟合效果图,用叉“x”表示原数据点,编写matlab程序。

function newpolyplot

x=[0.1:0.1:0.6];

y=[0.09983 0.19867 0.29552 0.38942 0.47943 0.56464];

c,d]=newpoly(x,y);

y0=polyval(c,x);

plot(x,y,'x',x,y0)

6、结果分析:

在实际生产生活,牛顿插值可以得出结论,是人们的生产水平越来越高效,从而提高生产力。

三、实验体会。

牛顿差值多项式在实际生产生活中有很大的作用,经过此次实验基本上了解了拉格朗日插值法的算法和牛顿插值法算法的过程,对以后算法的运用和其他算法的理解有帮助,而且有助于编程。

预祝老师新年快乐。

数值分析作业

12.求在 0,1 上的一次最佳平方逼近多项式与二次最佳平方逼近多项式。函数 function s zjpfbj n,a,b 创建一个函数,里面填入次数,和区间范围。base inline x j 1 x j 定义多项式。quan inline 1 x 权函数。a zeros n 1 y zeros...

数值分析作业

实验2.2算法设计与比较。实验目的 编制不同方法的matlab程序,这些方法的计算效果和特点。问题提出 非线性方程的数值解法很多,不同的方法效果如何,要靠计算的实践来分析 比较。实验内容 考虑下列算法 1 牛顿法 2 弦割法 3 抛物线法。分别编写它们的matlab程序。牛顿法程序 function...

数值分析作业

数值分析上机作业。zhh mushan 班级 土木工程一班。姓名 赵惠惠。班级 2010510359 二零一一年六月 舍入误差与有效数。一 问题说明。1 设,其精确值为。1 编制按从小到大的顺序计算通用程序。2 编制按从小到大的顺序计算通用程序。3 按两种顺序分别计算并指出有效位数。编制程序用单精度...