数值计算方法实验报告(例)讲解

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

实验报告

一、实验目的

二、实验内容

三、实验环境

四.实验方法

五、实验过程

1实验步骤

2 关键代码及其解释

3 调试过程

六、实验总结

1.遇到的问题及解决过程

2.产生的错误及原因分析

3.体会和收获。

七、程序源代码:

八、教师评语

实验报告

一.试验目的:练习用数值方法求解给定的非线性方程。 二.实验内容:求解人口方程: )1(5

.43e 1004.156-+

=λλλ

e

要求误差小于410-。

三.实验环境:PC 计算机,FORTRAN 、C 、C ++、VB 任选一种。 四.实验方法:牛顿法

牛顿法简述:牛顿法是一种特殊的迭代法,其迭代公式为:

,2,1,0,)

()

(1='-

=+k x f x f x x k k k k ,

当数列{}k x 收敛时,其极限值x 即为方程的解。

定理:给定方程],[,0)(b a x x f ∈=

1)设0)()(

2))(x f ''在],[b a 上不变号,且],[,0)(b a x x f ∈≠'; 3)选取],[0b a x ∈,满足0)()(00>''x f x f ;

则牛顿法产生的序列{}k x 收敛于0)(=x f 在],[b a 内的唯一解x 。 五.实验过程:

1.编程: 用C 语言编出牛顿法的源程序。

2. 开机, 打开C 语言编译程序,键入所编程序源代码.

3. 调试程序, 修改错误至能正确运行.

六.实验总结:

(1)牛顿法收敛速度快,但初值不容易确定,往往由于初值取得

不当而使迭代不收敛或收敛慢,但若能保证)()(1+>K K x f x f (称为下山条件),则有可能收敛。把新的近似值看作初值的话会比原来的取得好,有可能落入局部收敛的邻域。

(2)牛顿法要求)(x f '在x 附近不为零。亦即x 只能是单根, 不能求重根。可用重根加速收敛法求重根。 (3)牛顿法的每一步迭代中,都要计算一次导数值,若计算)(x f '比计算函数的近似值要麻烦的多。为了避免求导数,可用差商近似代替微商

1

1)

()()(----='K K K K K x x x f x f x f

此时牛顿迭代法改为

)()

()()

(111--+---

=K K K K K K K x x x f x f x f x x .

(4) 由于人口方程来源于实际问题, λ代表人口增长率, 其真实

值不会太大, 初值不应取得过大.否则会得到该方程的另外一个解

七、程序源代码:

#include

#define ep 1e-4 float f (float x) { float y;

y=100*exp(x)+43.5*(exp(x)-1)/x-156.4;

return(y); }

float df (float x) { float y;

y=100*exp(x)+43.5*( x*exp(x)-exp(x)+1)/(x*x); return(y); }

float root(float x) { float y;

if (fabs)f

else y=root(x-f(x)/df(x)); while(n

main() {float y,x0;

printf(“enter x0:”); scanf(“%f”,&x0); y=root(x);

printf(“%f%f’,y,f(y));

八、教师评语

云南大学数学与统计学实验教学中心

实验报告

一.试验目的:练习用数值方法求逆矩阵。

二.实验内容:求下面矩阵的逆矩阵:

⎥⎥

⎥⎦

⎢⎢⎢⎣⎡--=491472583A . 三. 实验环境:PC 计算机, C 语言。

四.实验方法: 列主元高斯—约当消去法 列高斯—约当消去法简述:高斯—约当消去法是高斯消去法的另一种变种和

改进。本算法与高斯消元法的区别在于:(1)不用乘数ik m ,改用行标准化,把)

(k kk

a 位置上的元素先变为1。(2)高斯消元法只是把)(k kk a 这一列中)(k kk a 下面行的元素消为0,而高斯—约当消去法则是把)(k kk a 这一列元素除1)

(=k kk a 以外全部消为0。(3)

高斯—约当消去法进行n 次消元,把第n 列也消为只剩一个元素为1,其余均为

0。因此,0≠∆n 对于消元也是必要条件。

高斯—约当消去法算法为:

1

,)

1,,1,()1,,1,(/,,2,1+=⎪⎩⎪

⎨⎧++=-←≠++=←=n i i kj ik ij ij

kk kj kj a PRINTx n k k j a a a a j

i n k k j a a a n

k 五.实验过程:

1.编程: 用C 语言编出全主元高斯—约当消去法的源程序。 2. 开机, 打开C 语言编译程序,键入所编程序源代码. 3. 调试程序, 修改错误至能正确运行. 4. 运行程序并输出计算结果.

计算结果:MAT A-1 IS: