计算方法实验指导书

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

《计算方法》实验指导书

汪荣贵编

计算机学院

计算机应用教研室

2006年2月

前言

《计算方法》所涉及的都是可以直接在计算机上求解的数值方法。这些方法既有数学的抽象性与严密的科学性,又有应用的广泛性与实验的高度技术性。故结合课堂教学,本课程配备适当的上机实验(12个学时),通过实验可以加强学生对数学模型的总体分析,算法选取,上机调试和结果分析等环节的训练。

本实验指导书共包含5个实验,要求学生在12个实验课时内完成,并提交实验报告,以此可作为《计算方法》课程成绩评定的一部分。

目录

前言2

实验一插值与拟合4

1 实验目的4

2 实验内容4

3 算法基本原理5

4 算法描述6

5 计算用例的参考输出6

6 思考题7

实验二数值积分7

1 实验目的7

2 实验内容7

3 算法基本原理8

4 算法描述10

5 计算用例的参考输出10

6思考题10

实验三非线性方程求根迭代法11

1 实验目的11

2 实验内容11

3 算法基本原理12

4 算法描述12

5 计算用例的参考输出13

6 思考题13

实验四求解线性方程组13

1 实验目的13

2 实验内容14

3 算法基本原理15

4 算法描述16

5计算用例的参考输出16 6 思考题17 实验五数值微分18

1 实验目的18

2 实验内容18

3 算法基本原理18

4 算法描述19

5 计算用例的参考输出19

6 思考题20 实验报告内容要求21

实验一 插值与拟合

1 实验目的

(1) 明确插值多项式和分段插值多项式各自的优缺点;

(2) 编程实现拉格朗日插值算法,分析实验结果体会高次插值产生的龙格现象;

(3) 理解最小二乘拟合,并编程实现线性拟合,掌握非线性拟合转化为线性拟合的方法 (4) 运用常用的插值和拟合方法解决实际问题。

2 实验内容

(1) 对于55,11

)(2

≤≤-+=

x x

x f 要求选取11个等距插值节点,分别采用拉格朗日插值和分段线性插值,计算x 为0.5, 4.5处的函数值并将结果与精确值进行比较。

输入:区间长度,n(即n+1个节点),预测点 输出:预测点的近似函数值,精确值,及误差

(2)对于给定的一元函数 ()x f y = 的n+1个节点值 ()i i x f y =()n i ,,1,0 =。

求五次拉格朗日多项式和分段三次插值多项式,计算()()99.0,596.0f f 的值。

输入:数据点集及个数,预测点。 输出:预测点的近似函数值

(3)在某冶炼过程中,根据统计数据的含碳量与时间关系,试求含碳量y 与时间t 的拟合曲线。

输出:拟合函数()t ϕ,并打印出()i t ϕ与()i t y 的误差

提示:近似解析表达式为()3

3221t a t a t a t ++=ϕ

(4)用线性拟合编程实现给药方案

背景知识:一种新药用于临床之前,必须设计给药方案.

临床上,每种药物有一个最小有效浓度c1和一个最大有效浓度c2。

设计给药方案时,要使血药浓度 保持在c1~c2之间。 本题设c1=10,c2=25(ug/ml).

在实验方面,对某人用快速静脉注射方式一次注入该药物300mg 后,在一定时刻t(小时)采集血药,测得血药浓度c(ug/ml)如下表:

t (h) 0.25 0.5 1 1.5 2 3 4 6 8 c (μg/ml) 19.21 18.15 15.36 14.10 12.89 9.32 7.45 5.24 3.01

问题:

A. 在快速静脉注射的给药方式下,研究血药浓度(单位体积血液中的药物含量)的变化规

B. 设计给药方案:每次注射剂量多大;间隔时间多长 提示:

A. 血药浓度的变化规律符合指数关系kt

e v

t c -=300)( B. 将指数关系转化为线性关系

3 算法基本原理

当精确函数 y = f(x) 非常复杂或未知,在一系列节点 x 0 … x n 处测得函数值 y 0 = f(x 0), … y n = f(x n ), 希望由此构造一个简单易算的近似函数 g(x) ≈ f(x),满足条件g(x i ) = f(x i ) (i = 0, … n)。这里的 g(x) 称为f(x) 的插值函数,由插值函数可以去近似估计f(x)在一些未知点处的函数值。最常用的插值函数是多项式插值。

所谓多项式插值即求 n 次多项式x a x a a x P n n +++= 10)(使得)()(i i n x f x P = 基于基函数的拉格朗日插值是构造多项式插值最基本方法。也是推导数值微积分和微分方程数值解的公式的理论基础。

拉格朗日插值公式为:∑==

n

k k

k n x l

y x p 0

)()(其中∏

≠=--=n

k

j j j

k j k x x x x x l 0)(

当结点比较多,次数较高的插值多项式往往发生Runge 现象,分段低次插值是避免Runge 现象的重要手段。分段一次插值将整个区间分段,在每个小区间上,用一次多项式逼近 f (x),直观上即用折线代替曲线,只要区间足够小就可以保证很好的逼近效果,但曲线缺乏光滑性。

除了插值,逼近复杂函数f(x)的另一种方法是拟合。结点数据比较多,或者不够精确,往往采用拟合的方法。用来拟合的简单函数p(x),不需严格通过给定结点,但在这些结点处总体误差2

)

)((i

i

y x p Q -=

∑达到极小,即满足最小二乘拟合的条件。线性拟合是最简单

的拟合方法,许多非线性问题都可以转化为线性拟合。令线性函数为a 0+a 1x ,要确定a 0和a 1,最终求解如下线性方程组:

4算法描述

(1) 拉格朗日插值算法见流程图

(2) 分段线性插值算法要注意以下关键点:

A. 定位:预测点x 在第几个区间?

B. 假定x 在第k 个区间,

即],[1+∈k k x x x

一次插值公式为

k

k k k k k k k x x x x y x x x x y x p --+--=++++11

111)(

(3) 线性拟合算法

在没有讨论线性方程组数值解法的前提下,用最原始的消元法求解线性方程组

5 计算用例的参考输出

(1)实验1参考输出如下

X y(精确) y(拉格朗日) y(分段线性) 误差(拉) 误差(分) 0.500000 0.800000 0.843408 0.750000 -0.043408 0.050000 4.500000 0.047059 1.578721 0.048643 -1.537662 -0.001584

00210001=====⎡⎤⎡⎤+⎢⎥⎢⎥

⎡⎤⎢⎥⎢⎥=⎢⎥⎢⎥⎢⎥⎣⎦⎢⎥⎢⎥

⎣⎦⎣⎦∑∑∑∑∑n

n i i i i n n n i i i i i i i n x y a a x x x y 图1.1拉格朗日插值算法

相关文档
最新文档