数值计算方法上机c语言编程,数值计算方法上机实验报告.doc-资源下载在线文库www.lddoc.cn...

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

华 北 电 力 大 学实 验 报 告实验名称 数值计算方法上机实验 课程名称 数值计算方法 专业班级电力实 08 学生姓名李超然学 号200801001008 成 绩 指导教师郝育黔老师 实验日期2010 年 04 月华 北 电 力 大 学 实 验 报 告2 / 16数值计算方法上机实验报告一、 各算法的算法原理及计算机程序框图1、牛顿法求解非线性方程(1)算法原理对于非线性方程 ,若已知根 的一个近似值 ,将 在 处展开成一0fx*xkxfkx阶泰勒公式 “ 2kkkkfff忽略高次项,有 kkkfxfx右端是直线方程,用这个直线方程来近似非线性方程 。将非线性方程fx的根 代入 ,即0fx0fx*0kkkfxfx解出 *kkfx将右端取为 ,则 是比 更接近于 的近似值,即1kx1kkx*1kkfx这就是牛顿迭代公式。(2)计算机程序框图(见)(3)输入变量、输出变量说明输入变量 迭代初值, 迭代精度, 迭代最大次数0 xN输出变量 当前迭代次数, 当前迭代值k1x(4)具体算例及求解结果华 北 电 力 大 学 实 验 报 告3 / 16开 始0,xN读 入1k0fx001fxx10xkN输 出 迭 代失 败 标 志结 束10kx1x输 出 输 出 奇 异 标 志例导出计算 的牛顿迭代公式,并计算 。 (课本 P39 例 2-16)0c15求解结果 10.75238.2、列主元素消去法求解线性方程组(1)算法原理高斯消去法是利用现行方程组初等变换中的一种变换,即用一个不为零的数乘一个方程后加只另一个方程,使方程组变成同解的上三角方程组,然后再自下而上对上三角华 北 电 力 大 学 实 验 报 告4 / 16方程组求解。列选主元是当高斯消元到第 步时,从 列的 以下(包括 )的各元素中选出kkkaka绝对值最大的,然后通过行交换将其交换到 的位置上。交换系数矩阵中的两行(包括常数项) ,只相当于两个方程的位置交换了,因此,列选主元不影响求解的结果。(2)计算机程序框图(见下页)(3)输入变量、输出变量说明输入变量 系数矩阵元素, 常向量元素ijaib输出变量 解向量元素12,nb(4)具体算例及求解结果例用列选主元法求解下列线性方程组(课本 P65 例 3-3)1230.5106.24296.5.9xx求解结果 123.60.x3、 分解法求解线性方程组LU(1)算法原理求解线性方程组 时,当对 进行 分解,则等价于求解 ,这时可AxbALULUxb归结为利用递推计算相继求解两个三角形(系数矩阵为三角矩阵)方程组,用顺代,由 yb求出 ,再利用回带,由 求出 。yx(2)计算机程序框图(见下页)(3)输入变量、输出变量说明输入变量 系数矩阵元素, 常向量元素ijaib华 北 电 力 大 学 实 验 报 告5 / 16选 主 元1ki,2,.ijaijn读 入 数 据 , b/1,2.ikikan,.,1,2.0ijikjikiikibajnk1k1//,2.,nniijiijbab12,.nb 输 出开 始结 束1kiikadl1ii1.ljkjljkjlklkatatnbtbt结 束从 主 程 序 来kadlikin0d 输 出奇 异 标 志l返 回 主 程 序华 北 电 力 大 学 实 验 报 告6 / 16i,12.,jaijn读 入 数 据 , b开 始结 束111.23,1,./2.,iiilrriikiririikruanulalrn11 123,./,/,1,.2iiknnniiikiyblyixuxuxn12,.nx 输 出输出变量 解向量元素1,2,.nb(4)具体算例及求解结果例用杜里特尔分解法求解方程组(课本 P74 例 3-8)1234757x求解结果 123.0.x华 北 电 力 大 学 实 验 报 告7 / 164、拉格朗日插值法(1)算法原理构造基函数 ,可以证明基函数满足下列条件0nikikxl,01kiiklx对于给定 个节点, 次拉格朗日插值多项式由下式给出1nn0nikkixLy由于 是一个关于 的 次多项式,所以 为关于 的不高于 次的代数多项klxxnLxn式。当 时, ,满足插值条件。iiiLy(2)计算机程序框图(见下页)(3)输入变量、输出变量说明输入变量 插值节点,ixy输出变量 插值所得到被插函数在插值点的近似值(4)具体算例及求解结果例已知 的值如下表所示。sinfx的值sinfxx0 6432sin0 12221试用拉格朗日多项式计算 的估计值。sin求解结果0.258华 北 电 力 大 学 实 验 报 告8 / 16,01.ixyin输 入 开 始结 束 y输 出 yx1t0,.1,.,jkjxtknkytn1k5、最小二乘法的曲线拟合 (1)算法原理对于给定的一组数据 ,要在给定的函数空间,,12,.iixfm01,.nSpa中找一个函数 *01 0.nnixaxxax使 满足*x华 北 电 力 大 学 实 验 报 告9 / 162*2*21 1minmii iixixf fx 这种求拟合函数 的方法称为曲线拟合的最小二乘法, 称为最小二乘法的* *最小二乘解。(2)计算机程序框图 ,1,2.jixyn读 入 数 据开 始结 束01,.na输 出1111111,23,.1.,2,3.1,23,.1nllinkkinklklininkkiiCxmCxibyxm,0,.kLULUam进 行 分 解 , 框 图 如 分 解 法 , 得 系 数(3)输入变量、输出变量说明输入变量 已知数据点,ixy输出变量 拟合多项式的系数ia华 北 电 力 大 学 实 验 报 告10 / 16(4)具体算例及求解结果例根据给定的函数 的实例数据表,试用最小二乘法求二次拟合多项式。 (课yfx本 P186 习题 3)ix0123456iy5411求解结果 012 24.9875.3.10.386ayxx6、变步长梯形求积分(1)算法原理 设将积分区间 分成 等份,即有 个子区间,分点 ,其,abnn,01,.kxahn中步长 bah对于子区间 ,利用体型求其积分近似值1,kx 12kkfxf对于子区间 有,ab1102nkkkhTfxf对于子区间 再取其中点1,kx112kkxx作新节点,此时区间数增加了一倍为 ,n对子区间 ,其积分近似值1,kx 1124kkkhfxffx华 北 电 力 大 学 实 验 报 告11 / 16对区间 有,ab12 1102024nkkkk nk kkhTfxffxhfff (2)计算机程序框图 ,ab读 入开 始2T打 印1,2hbffT0,Sax12ThS2121,hT,fxhb结 束(3)输入变量、输出变量说明输入变量 积分区间, 精度,ab输出变量 积分结果2T华 北 电 力 大 学 实 验 报 告12 / 16(4)具体算例及求解结果例用变步长梯形公式求积法计算 。课本 P209 例 6-1310sinxd求解结果0.9468277、改进欧拉法(1)算法原理当 取值较小时,让梯形法的迭代公式只迭代一次就结束。这样先用欧拉公式求得h一个初步近似值 ,称之为预报值,预报值的精度不高,用它替代梯形法右端的01ny,再直接计算得出 ,并称之为校正值,这时得到预报-校正公式。将预报-校正1ny公式 01 01,,2nnnnyhfxyfy 称为改进欧拉公式。(2)计算机程序框图(见下页)(3)输入变量、输出变量说明输入变量 处置点, 区间长度, 计算次数0,xyhN输出变量 初值问题的数值解法结果1(4)具体算例及求解结果例求解初值问题(课本 P242 例 7-2)2,011xy求解结果 nxnynyxnxnynyx0.1 1.095909 1.095909 0.6 1.485956 1.4859550.2 1.184097 1.184097 0.7 1.562514 1.5525140.3 1.266201 1.266201 0.8 1.616475 1.616474华 北 电 力 大 学 实 验 报 告13 / 160.4 1.343360 1.343360 0.9 1.678320 1.6781660.5 1.416402 1.416402 1.0 1.737867 1.737867开 始1n010011,/2pcpcxhyfynN10nxy结 束0,xyhN读 入 1,xy输 出 8、四阶龙格库塔法求解常微分方程的初值问题(1)算法原理用区间 内四个不同点上的函数值的线性组合就得到四阶龙格-库塔法。1,kx四阶龙格-库塔法 1123421322243333,,nnnnyhkkfxkyhfkkh其中, 均为待定系数。,1.iijji类似于前面的讨论,把 分别在 点展开成 的幂级数,代入 并进行花234knx1ny华 北 电 力 大 学 实 验 报 告14 / 16间,然后与 在 点上的泰勒展开式比较,使其两式比较,使其两式右端直到1nyxn的系数相等,经过复杂的数学演算可得到关于 的一组特解4h ,iij12123142306从而得到下列常用的经典公式 112342112324136,,nnnhykkkfxyhkfxky经典的龙格-库塔法每一步需要 4 次计算函数值 ,它具有四阶精度,即局部,fxy截断误差是 。5Oh(2)计算机程序框图(见下页)(3)输入变量、输出变量说明输入变量 处置点, 区间长度, 计算次数0,xyhN输出变量 初值问题的数值解法结果1(4)具体算例及求解结果例设取步长 ,从 到 ,用经典公式求解初值问题0.2hx12,01xy华 北 电 力 大 学 实 验 报 告15 / 16开 始1n010012002334141,,,,,6xhhfykfxykfxfhkhykkynN10nxy结 束0,xyhN读 入 1,x输 出 求解结果 nxnynyx0.2 1.183229 1.1832290.4 1.341667 1.3416670.6 1.483281 1.4832810.8 1.612514 1.6125141.0 1.732142 1.732142二、上机体验与收获本次上机内容为牛顿法求解非线性方程、列主元素消去法求解线性方程组、LU 分解法求解线性方程组、拉格朗日插值、最小二乘法的曲线拟合、变步长梯形求积分、改进欧拉方法求 5 解常微分方程的初值问题、四阶龙格库塔法求解常微分方程的初值问题华 北 电 力 大 学 实 验 报 告16 / 16在各个算法程序的编制中,我认识到从一个数值计算方法到一个具体程序的复杂过程,使我对各种数值计算方法有了更深的了解。同时,补充了 C语言的应用,掌握了 C语言中文件的操作,这是原先的 C程序课程中没有学习过的。在各个程序的调试过程中,我又复习了 C语言的基本知识,比如数值计算方法编程过程中涉及到了许多循环结构,这能很好的锻炼自己的数学思维。另外,这份试验报告的编写,综合运用了 Office Visio 2007、 MathType 6.0 和 Office Word 2010 软件,让我对以上软件掌握的更加透彻。最后,本次试验的成功完成与老师的指导是分不开的。相信通过上机实践,对今后的学习和竞赛将有很大的帮助。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值