数值计算方法上机实验报告数值计算方法上机实验报告
班级:农电0801
姓名:杨 昆
学号:200801090122
算法原理以及程序框图
①牛顿法求非线性方程
● 算法原理:
对于非线性方程
,若已知跟
的一个近似值
,将
在
处展开成一阶泰勒公式:
忽略高次项,有
右端是直线方程,用这个直线方程来近似非线性方程
。将非线性方程
的根
代入
,即
解出
将右端取为
,则
是比
更接近于
的近似值,即
这就是牛顿迭代公式。
● 程序框图:
● 具体算例及求解结果:
导出计算
的牛顿迭代公式,并计算
。
迭代...
数值计算方法上机实验
班级:农电0801
姓名:杨 昆
学号:200801090122
算法原理以及程序框图
①牛顿法求非线性方程
● 算法原理:
对于非线性方程
,若已知跟
的一个近似值
,将
在
处展开成一阶泰勒公式:
忽略高次项,有
右端是直线方程,用这个直线方程来近似非线性方程
。将非线性方程
的根
代入
,即
解出
将右端取为
,则
是比
更接近于
的近似值,即
这就是牛顿迭代公式。
● 程序框图:
● 具体算例及求解结果:
导出计算
的牛顿迭代公式,并计算
。
迭代结果:
10.750000
10.723837
10.723805
● 输入变量、输出变量说明:
输入变量:
迭代初值,
迭代精度,
迭代最大次数
输出变量:
当前迭代次数,
当前迭代值
②列主元消去法求解线性方程组
● 算法原理:
高斯消去法是利用现行方程组初等变换中的一种变换,即用一个不为零的数乘一个方程后加只另一个方程,使方程组变成同解的上三角方程组,然后再自下而上对上三角方程组求解。
列选住院是当高斯消元到第
步时,从
列的
以下(包括
)的各元素中选出绝对值最大的,然后通过行交换将其交换到
的位置上。交换系数矩阵中的两行(包括常数项),只相当于两个方程的位置交换了,因此,列选主元不影响求解的结果。
● 程序框图:
● 具体算例及求解结果:
用列选主元法求解下列线性方程组
求解结果:
1.200000
2.000000
-1.400000
● 输入变量、输出变量说明:
输入变量:
系数矩阵元素,
常向量元素
输出变量:
解向量元素
③LU分解求解线性方程组
● 算法原理:
求解线性方程组
时,当对
进行杜里特尔分解,则等价于求解
,这时可归结为利用递推计算相继求解两个三角形(系数矩阵为三角矩阵)方程组,用顺代,由
求出
,再利用会带,由
求出
。
● 程序框图:
● 具体算例及求解结果:
用杜里特尔分解法求解方程组
求解结果:
2.000000
-2.000000
1.000000
● 输入变量、输出变量说明:
输入变量:
系数矩阵元素,
常向量元素
输出变量:
解向量元素
④拉格朗日插值多项式
● 算法原理:
首先构造基函数
,可以证明基函数满足下列条件:
,
对于给定
个节点,
次拉格朗日插值多项式由下式给出:
其中
由于
是一个关于
的
次多项式,所以
为关于
的不高于
次的代数多项式。当
时,
,满足插值条件。
● 程序框图:
● 具体算例及求解结果:
已知
的值如下
所示。
的值
0
0
1
试用四次Lagrange 多项式计算
的估计值。
求解结果:
0.258588
● 输入变量、输出变量说明:
输入变量:
插值节点
输出变量:
插值所得到被插函数在插值点的近似值
⑤最小二乘法曲线拟合
● 算法原理:
对于给定的一组数据
,
=1,2…,
,寻求做
次多项式
使性能指标
为最小。
由于性能指标
可以被看做关于
,
=0,1,…,
的多元函数,故上述拟合多项式的构造问题可转化为多元函数的极值问题。令
从而有正则方程组
求解即得多项式系数。
● 程序框图:
● 具体算例及求解结果:
给定函数
的实例数据表:
1
2
3
4
6
7
8
2
3
6
7
5
3
2
试用最小二乘法求二次拟合多项式
求解结果:
-1.318171
3.431811
-0.386363
● 输入变量、输出变量说明:
输入变量:
已知数据点
输出变量:
拟合多项式的系数
⑥改进欧拉法求解常微分方程初值问题
● 算法原理:
当
取值较小时,让梯形法的迭代公式只迭代一次就结束。这样先用欧拉公式求得一个初步近似值
,称之为预报值,预报值的精度不高,用它替代梯形法右端的
,再直接计算得出
,并称之为校正值,这时得到预报-校正公式。将预报-校正公式
称为改进欧拉公式。
● 程序框图:
● 具体算例及求解结果:
求解初值问题
求解结果:
0.1
1.095909
1.095909
0.6
1.485956
1.485955
0.2
1.184097
1.184097
0.7
1.562514
1.552514
0.3
1.266201
1.266201
0.8
1.616475
1.616474
0.4
1.343360
1.343360
0.9
1.678320
1.678166
0.5
1.416402
1.416402
1.0
1.737867
1.737867
● 输入变量、输出变量说明:
输入变量:
处置点,
区间长度,
计算次数
输出变量:
初值问题的数值解法结果
⑦四阶龙格-库塔法求解常微分方程初值问题
● 算法原理:
用区间
内四个不同点上的函数值的线性组合就得到四阶龙格-库塔法。
四阶龙格-库塔法
其中,
均为待定系数。
类似于前面的讨论,把
分别在
点展开成
的幂级数,代入
并进行花间,然后与
在
点上的泰勒展开式比较,使其两式比较,使其两式右端直到
的系数相等,经过复杂的数学演算可得到关于
的一组特解
从而得到下列常用的经典公式
经典的龙格-库塔法每一步需要4次计算函数值
,它具有四阶精度,即局部截断误差是
。
● 程序框图:
● 具体算例及求解结果:
求解初值问题
求解结果:
0.2
1.183229
1.183229
0.4
1.341667
1.341667
0.6
1.483281
1.483281
0.8
1.612514
1.612514
1.0
1.732142
1.732142
● 输入变量、输出变量说明:
输入变量:
处置点,
区间长度,
计算次数
输出变量:
初值问题的数值解法结果
上机体验与收获
首先,是程序的编制过程中,我体会到了将一个抽象的数值计算方法变为一个具体计算机程序的不易。这个过程,让我对各种数值计算方法的数学公式有了更进一步的认识,因为要编制出计算机程序,就必须清楚数值计算方法的具体计算步骤。并且这次我还补充了自己的C语言知识,学会了C语言中文件的操作,这一部分内容在原先的C语言课程中式没有讲述过的。在各个程序的调试过程中,我又重新复习C语言的很多知识,比如数组元素的编号以及数组行列的编号都是从0开始的等。数值计算方法编程过程中涉及到了许多循环结构,这很好的锻炼了我的数学思维。
其次,我要说的事此次试验报告的写作,运用了Mathtype在Word里面编辑了如此多的数学公式,让我对运用Mathtype进行数学公式编辑以及Word排版都有了新的认识。
参考文献
[1]谭浩强,C程序
,北京,清华大学出版社,2005
[2]马东升,雷勇军,数值计算方法,机械工业出版社,2006
本文档为【数值计算方法上机实验报告】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑,
图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。