fortran数值计算基础
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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、统一使用《武汉科技大学实验报告》本书写,实验报告的内容要求有:实验目的、