计算方法实习报告

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

计算方法实习报告

姓名:

班级:

学号:

任课教师:

选题:9.1插值问题的数值实验

9.6线性方程组求解的数值实验

一、课题名称:插值问题的数值实验

二、姓名:童泽兵 班级:9121086701 学号:912108670130

三、摘要:本文通过应用拉格朗日插值法,构造一个适当的函数P(x)作为原函数f(x)的近似,以便对其进行进一步分析和应用。

四、引言

本程序对函数

2

)5(11)(x x f +=

,]1,1[-∈x ,取n+1个基点,n i ih x i ,,2,1,0,1⋯=+-=,其中,

n

h 2

=

,要求: (1)对n=2,4,6,8,10分别作n 次插值多项式)(x P n ,并在同一坐标系分别画出)(x f 与)(x P n

(2)在非节点处分别计算)(x f 与)(x P n 的最大相对误差:

)()

()(max 1

1x f x p x f n x -≤≤-,n=2,4,6,8,10。

(3)根据)(x f 与)(x P n 的图形及最大相对误差通过比较分析与讨论,以寻求更好的插值方法。

五、计算公式

对于函数2)5(11

)(x x f +=

,[]1,1-∈x ,取n+1个基点, ih x i +-=1,n i ,...,2,1,0=,其中

n

h 2

=

(1)插值基函数)

())()()

())()()(110110n i i i i i i n i i x x x x x x x x x x x x x x x x x l i -⋯--⋯--⋯--⋯-=

+-+-((

(2)∑==n

i i i n x f x l x 0

)()()(L

(3)引入符号∏=+-=n j j n x x x w 0

1)()(,∏≠=+-=n

i

j j j i i n x x x w 0

1)()('

(4))(L x n 可表示为)()

()()

()(0

11i n

i i n i n n x f x w x x x w x L ∑

=++-=

(5)插值余项)()!

1()()()()(1)

1(x n f

x Ln x f x Rn n n +++=

-=ωξ

六、程序结构设计 1、数据流向图

∏=+-=n

j j n x x x w 01)()(

ih

x i +-=1 )()

()()

()(0

11i n

i i n i n n x f x w x x x w x L ∑

=++-=

∏≠=+-=n

i

j j j i i n x x x w 01)()('

2、符号引用表

标识符 数学符号 类型 作用 n n Integer 插值次数 h h Single 步长 i,j i,j Integer 计数变量 x() xi Single 基点 f() f(x) Double 函数值 r Rn

Double 最大误差值 w Single 连乘 w1

Single 连乘 L

Ln(x) Double

插值函数值

3.计算机程序

(1)建立绘图坐标系

Picture1.Scale (-1.6, 1.6)-(1.6, -1.6)

Picture1.Line (-1.6, 0)-(1.6, 0)

Picture1.Line (0, -1.6)-(0, 1.6)

Picture1.CurrentX = 1.56

Picture1.CurrentY = -0.05

Picture1.Print "X"

Picture1.CurrentX = -0.05

Picture1.CurrentY = 1.56

Picture1.Print "Y"

Picture1.CurrentX = -0.05

Picture1.CurrentY = -0.05

Picture1.Print "0"

(2)计算f(x)的值,并绘制f(x)的图像:

n = Int(Text1.Text)

h = 2 / n

For i = 0 To n

x(i) = -1 + i * h

f(i) = 1 / (1 + (5 * x(i)) ^ 2)

Next i

For z = -1 To 1 Step 0.0001

Picture1.PSet (z, 1 / (1 + (5 * z) ^ 2)), vbRed

Next z

(3)绘制n次插值函数图像,并找出最大相对误差:w = 1

w1 = 1

L = 0

For y = -0.9999 To 1 Step 0.0001

For s = 0 To n

w = w * (y - x(s))

Next s

For i = 0 To n

For j = 0 To n

If j <> i Then

w1 = w1 * (x(i) - x(j))

End If

Next j

L = L + w * f(i) / ((y - x(i)) * w1)

w1 = 1

Next i

相关文档
最新文档