数值计算方法上机c语言编程,数值计算方法上机实验报告..doc

数值计算方法上机实验报告.

数值计算方法上机实验报告

班级:农电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

输入变量、输出变量说明:

输入变量:处置点,区间长度,计算次数

输出变量:初值问题的数值解法结果

⑦四阶龙格-库塔法求解常微分方程初值问题

算法原理:

用区间内四个不同点上的函数值的线性组合就得到四阶龙格-库塔法。

四阶龙格-库塔法

其中,均为待定系数。

类似于前面的讨论,把分别在点展开成的幂级数,代入并进行花间,然后与在点上的泰勒展开式比较,

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值