数值计算方法上机实验报告.
数值计算方法上机实验报告
班级:农电0801
姓名:杨 昆
学号:200801090122
算法原理以及程序框图
①牛顿法求非线性方程
算法原理:
对于非线性方程,若已知跟的一个近似值,将在处展开成一阶泰勒公式:
忽略高次项,有
右端是直线方程,用这个直线方程来近似非线性方程。将非线性方程的根代入,即
解出
将右端取为,则是比更接近于的近似值,即
这就是牛顿迭代公式。
程序框图:
具体算例及求解结果:
导出计算的牛顿迭代公式,并计算。
迭代结果:
10.750000
10.723837
10.723805
输入变量、输出变量说明:
输入变量:迭代初值,迭代精度,迭代最大次数
输出变量:当前迭代次数,当前迭代值
②列主元消去法求解线性方程组
算法原理:
高斯消去法是利用现行方程组初等变换中的一种变换,即用一个不为零的数乘一个方程后加只另一个方程,使方程组变成同解的上三角方程组,然后再自下而上对上三角方程组求解。
列选住院是当高斯消元到第步时,从列的以下(包括)的各元素中选出绝对值最大的,然后通过行交换将其交换到的位置上。交换系数矩阵中的两行(包括常数项),只相当于两个方程的位置交换了,因此,列选主元不影响求解的结果。
程序框图:
具体算例及求解结果:
用列选主元法求解下列线性方程组
求解结果:
1.200000
2.000000
-1.400000
输入变量、输出变量说明:
输入变量:系数矩阵元素,常向量元素
输出变量:解向量元素
③LU分解求解线性方程组
算法原理:
求解线性方程组时,当对进行杜里特尔分解,则等价于求解,这时可归结为利用递推计算相继求解两个三角形(系数矩阵为三角矩阵)方程组,用顺代,由
求出,再利用会带,由求出。
程序框图:
具体算例及求解结果:
用杜里特尔分解法求解方程组
求解结果:
2.000000
-2.000000
1.000000
输入变量、输出变量说明:
输入变量:系数矩阵元素,常向量元素
输出变量:解向量元素
④拉格朗日插值多项式
算法原理:
首先构造基函数,可以证明基函数满足下列条件:
,
对于给定个节点,次拉格朗日插值多项式由下式给出:
其中
由于是一个关于的次多项式,所以为关于的不高于次的代数多项式。当时,,满足插值条件。
程序框图:
具体算例及求解结果:
已知 的值如下表所示。
的值
001试用四次Lagrange 多项式计算的估计值。
求解结果:
0.258588
输入变量、输出变量说明:
输入变量:插值节点
输出变量:插值所得到被插函数在插值点的近似值
⑤最小二乘法曲线拟合
算法原理:
对于给定的一组数据,=1,2…,,寻求做次多项式
使性能指标
为最小。
由于性能指标可以被看做关于,=0,1,…,的多元函数,故上述拟合多项式的构造问题可转化为多元函数的极值问题。令
从而有正则方程组
求解即得多项式系数。
程序框图:
具体算例及求解结果:
给定函数的实例数据表:
12346782367532试用最小二乘法求二次拟合多项式
求解结果:
-1.318171
3.431811
-0.386363
输入变量、输出变量说明:
输入变量:已知数据点
输出变量:拟合多项式的系数
⑥改进欧拉法求解常微分方程初值问题
算法原理:
当取值较小时,让梯形法的迭代公式只迭代一次就结束。这样先用欧拉公式求得一个初步近似值,称之为预报值,预报值的精度不高,用它替代梯形法右端的,再直接计算得出,并称之为校正值,这时得到预报-校正公式。将预报-校正公式
称为改进欧拉公式。
程序框图:
具体算例及求解结果:
求解初值问题
求解结果:
0.11.0959091.0959090.61.4859561.4859550.21.1840971.1840970.71.5625141.5525140.31.2662011.2662010.81.6164751.6164740.41.3433601.3433600.91.6783201.6781660.51.4164021.4164021.01.7378671.737867
输入变量、输出变量说明:
输入变量:处置点,区间长度,计算次数
输出变量:初值问题的数值解法结果
⑦四阶龙格-库塔法求解常微分方程初值问题
算法原理:
用区间内四个不同点上的函数值的线性组合就得到四阶龙格-库塔法。
四阶龙格-库塔法
其中,均为待定系数。
类似于前面的讨论,把分别在点展开成的幂级数,代入并进行花间,然后与在点上的泰勒展开式比较,