fortran数值计算基础

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

数值计算基础

目录

实验一直接法解线性方程组的 (2)

实验二插值方法 (11)

实验三数值积分 (5)

实验四常微分方程的数值解 (7)

实验五迭代法解线性方程组与非线性方程 (9)

实验一 直接法解线性方程组

一、实验目的

掌握全选主元消去法与高斯-塞德尔法解线性方程组。

二、实验内容

分别写出Guass 列选主元消去法与追赶法的算法,编写程序上机调试出结果,要求所编程序适用于任何一解线性方程组问题,即能解决这一类问题,而不是某一个问题。实验中以下列数据验证程序的正确性。

1、用Guass 列选主元消去法求解方程组

⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡--5.58.37.33.47.11.85.16.93.51.53.25.2321x x x

2、用追赶法求解方程组

⎥⎥

⎥⎥⎥⎦⎤⎢

⎢⎢⎢⎢⎢⎣⎡-=⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎣⎡⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎣⎡-----000010210000210000210000210000

254321x x x x x 三、实验仪器设备与材料

主流微型计算机

四、实验原理

1、Guass 列选主元消去法 对于AX =B

1)、消元过程:将(A|B )进行变换为)~|~(B A ,其中A ~

是上三角矩阵。即:

⎪⎪⎪⎪

⎪⎭

⎝⎛→

⎪⎪⎪⎪⎪⎭⎫ ⎝⎛n nn n

n

n nn

n n n

n b a b a b a a b a a a b a a a b a a a

0010122111221

222221111211 k 从1到n-1

a 、 列选主元

选取第k 列中绝对值最大元素ik n

i k a ≤≤max 作为主元。

b 、 换行

i

k ij kj b b n k j a a ⇔+=⇔,,1,

c 、 归一化 k

kk k kj kk kj b a b n k j a a a ⇒+=⇒/,,1,/

d 、 消元

n

k i b b a b n k j n k i a a a a i k ik i ij kj ik ij ,,1,,,1;,,1, +=⇒-+=+=⇒-

2)、回代过程:由)~

|~(B A 解出11,,,x x x n n -。

1

,2,,1,/1

-=⇒-

⇒∑+=n k x x a

b x a b k n

k j j kj

k n

nn n

2、追赶法 线性方程组为:

⎪⎪⎪⎪⎪⎪⎪⎪⎪⎭

⎝⎛=⎪⎪⎪⎪⎪⎪⎪⎪⎪⎭⎫ ⎝⎛⎪⎪⎪⎪⎪⎪⎪⎪⎪⎭⎫ ⎝

⎛-----n n n n n n

n n n f f f f f x x x x x a b c a b c a b c a b c a 132********

333

2

2211

做LU 分解为:

⎪⎪

⎪⎪

⎪⎪⎪

⎝⎛=⎪⎪⎪⎪⎪⎪⎪⎪⎭⎫

⎛=-1111,1213

3221n n n R L βββαγαγαγα

分解公式:

⎪⎪⎪⎩

⎪⎪⎨⎧

-===-====-)1,,2,1(),,3,2(,),,3,2(1

11n i c n i b b n i a i i i i i i i i i αββγααγ 则

⎧==⇒=⇒=y Ux f

Ly f LUx f Ax 回代公式:

⎪⎪⎩

⎪⎪⎨

=-==-)

,,3,2(1

111n i y f y f y i i i i i αγα

⎩⎨

⎧--=-==+)

1,,2,1(1

n n i x y x y x i i i i n n β

五、实验步骤

1、理解并掌握全选主元消去法与高斯-塞德尔迭代法公式;

2、画出全选主元消去法与高斯-塞德尔迭代法的流程图

3、使用C 语言编写出相应的程序并调试验证通过

六、实验报告要求

1、统一使用《武汉科技大学实验报告》本书写,实验报告的内容要求有:实验目的、实验内容、程序流程图、源程序、运行结果及实验小结六个部分。

2、源程序需打印后粘贴在实验报告册内;

3、运行结果以屏幕截图形式保存并打印后粘贴在实验报告册内。

七、实验注意事项

注意如何定义数据结构以保存矩阵和解以降低算法的复杂性。

八、思考题

若使用全主元消去法,在编程中应如何记录保存对于未知数的调换。

实验二 插值方法

一、实验目的

掌握拉格郎日插值法与牛顿插值法构造插值多项式。

二、实验内容

分别写出拉格郎日插值法与牛顿插值法的算法,编写程序上机调试出结果,要求所编程序适用于任何一组插值节点,即能解决这一类问题,而不是某一个问题。实验中以下列数据验证程序的正确性。

已知下列函数表

求x=0.5635时的函数值。三、实验仪器设备与材料

主流微型计算机

四、实验原理

已知n 个插值节点的函数值,则可由拉格郎日插值公式与牛顿插值公式构造出插值多项式,从而由该插值多项式求出所要求点的函数值。拉格郎日插值公式与牛顿插值公式如下:

1、Lagrange 插值公式

)

()(...)()()(0

1100x l y y x l y x l y x l x L n

k k k n n n ∑==+++=∏

≠=+-+---=----------=n k

j j j

k j n k k k k k k k n k k k x x x x x x x x x x x x x x x x x x x x x x x x x l 011101110)())(())(()

())(())(()( 2、Newton 插值公式

)

())(](,,[)

)(](,,[)](,[)()(11010102100100----++--+-+=n n n x x x x x x x x x f x x x x x x x f x x x x f x f x N

五、实验步骤

1、理解并掌握拉格郎日插值法与牛顿插值法的公式;

2、画出拉格郎日插值法与牛顿插值法算法的流程图;

3、使用C 语言编写出相应的程序并调试验证通过。

六、实验报告要求

1、统一使用《武汉科技大学实验报告》本书写,实验报告的内容要求有:实验目的、

相关文档
最新文档