研究生数值分析课后题(上机编程)

上传人:ji****n 文档编号:45690574 上传时间:2018-06-18 格式:DOC 页数:14 大小:582.50KB
返回 下载 相关 举报
研究生数值分析课后题(上机编程)_第1页
第1页 / 共14页
研究生数值分析课后题(上机编程)_第2页
第2页 / 共14页
研究生数值分析课后题(上机编程)_第3页
第3页 / 共14页
研究生数值分析课后题(上机编程)_第4页
第4页 / 共14页
研究生数值分析课后题(上机编程)_第5页
第5页 / 共14页
点击查看更多>>
资源描述

《研究生数值分析课后题(上机编程)》由会员分享,可在线阅读,更多相关《研究生数值分析课后题(上机编程)(14页珍藏版)》请在金锄头文库上搜索。

1、数值分析上机 电工 2009020954 马凯12009 级研究生 数值分析上机作 业院系 电气工程学院专业 控制理论与控制工程姓名 马凯学号 2009020954指导教师 代新敏数值分析上机 电工 2009020954 马凯22009 年 12 月 29 日第一题(二问):超松弛法求方程组根第一题(二问):超松弛法求方程组根1.解题理论依据或方法应用条件解题理论依据或方法应用条件: 超松弛算法是在 GS 方法已求出 x(m),x(m-1)的基础上,经过重新组合得到新序列。如能恰 当选择松弛因子 ,收敛速度会比较快。当 1 时,称为超松弛法,可以用来加速收敛。 其具体算法为:)()1 (1)

2、1(11)() 1()( inijm jijijm jijm im igxbxbxx 2.计算程序(使用软件:计算程序(使用软件:VC):): #include #define w 1.4 main() float a1010= 0,0,0,0,0,0,0,0,0,0, 0,12.38412,2.115237,-1.061074,1.112336,-0.113584,0.718719,1.742382,3.067813,-2.031743, 0,2.115237,19.141823,-3.125432,-1.012345,2.189736,1.563849,-0.784165,1.112348

3、,3.123124, 0,-1.061074,-3.125432,15.567914,3.123848,2.031454,1.836742,-1.056781,0.336993,-1.010103, 0,1.112336,-1.012345,3.123848,27.108437,4.101011,-3.741856,2.101023,-0.71828,-0.037585, 0,-0.113584,2.189736,2.031454,4.101011,19.897918,0.431637,-3.111223,2.121314,1.784317, 0,0.718719,1.563849,1.836

4、742,-3.741856,0.431637,9.789365,-0.103458,-1.103456,0.238417, 0,1.742382,-0.784165,-1.056781,2.101023,-3.111223,-0.103458,14.7138465,3.123789,- 2.213474, 0,3.067813,1.112348,0.336993,-0.71828,2.121314,-1.103456,3.123789,30.719334,4.446782, 0,-2.031743,3.123124,-1.010103,-0.037585,1.784317,0.238417,-

5、2.213474,4.446782,40.00001;float b101= 0,2.1874369,33.992318,-25.173417,0.84671695,1.784317,- 86.612343,1.1101230,4.719345,-5.6784392;float x1010=0,0,0,0,0,0,0,0,0,0; /*由 x(0)=0 得到其第一列全为零 */float sum1=0,sum2=0;int i,m,j;for(m=1;m #include main() double a1011= 0,0,0,0,0,0,0,0,0,0,0, 0,12.38412,2.1152

6、37,-1.061074,1.112336,-0.113584,0.718719,1.742382,3.067813,- 2.031743,2.1874369, 0,2.115237,19.141823,-3.125432,-1.012345,2.189736,1.563849,- 0.784165,1.112348,3.123124,33.992318, 0,-1.061074,-3.125432,15.567914,3.123848,2.031454,1.836742,-1.056781,0.336993,- 1.010103,-25.173417, 0,1.112336,-1.01234

7、5,3.123848,27.108437,4.101011,-3.741856,2.101023,-0.71828,- 0.037585,0.84671695, 0,-0.113584,2.189736,2.031454,4.101011,19.897918,0.431637,- 3.111223,2.121314,1.784317,1.784317, 0,0.718719,1.563849,1.836742,-3.741856,0.431637,9.789365,-0.103458,-1.103456,0.238417,- 86.612343, 0,1.742382,-0.784165,-1

8、.056781,2.101023,-3.111223,-0.103458,14.7138465,3.123789,- 2.213474,1.1101230, 0,3.067813,1.112348,0.336993,-0.71828,2.121314,- 1.103456,3.123789,30.719334,4.446782,4.719345, 0,-2.031743,3.123124,-1.010103,-0.037585,1.784317,0.238417,-2.213474,4.446782,40.00001,- 5.6784392;double x10,y11; double sum

9、=0,max;int i,j,j1,m,n,k,g,h;for(j=1;jfabs(max)max=akj;for(k=j;k=1;m-)sum=0;for(n=m+1;n #include main() int i;double s,z; /*定义函数近似值,导数近似值*/double b11=0,2,2,2,2,2,2,2,2,2,2,p11,g11,l11; /*追赶法中变量 b,l*/double m11=0,0,0,0,0,0,0,0,0,0,0; doublef11=0,0,0.69314718,1.0986123,1.3862944,1.6094378,1.7917595,1.9

10、459101,2.079445,2.1972246,2.3025851; /*原插值点对应函数值*/double y11=0,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,1; /*变量 */double x10=0,1,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5; /*变量 */ doubled11=0,6*(f2-1),3*(f3+f1-2*f2),3*(f4+f2-2*f3),3*(f5+f3-2*f4),3*(f6+f4- 2*f5),3*(f7+f5-2*f6),3*(f8+f6-2*f7),3*(f9+f7-2*f8),3*(f10+f

11、8-2*f9),6*(0.1- f10+f9);p1=2;g1=d1;for(i=1;i=1;i-)mi=(gi-xi*mi+1)/pi; /*应用追赶法求出最终方程解*/ s=m4*pow(5-4.563,3)/6+m5*pow(4.563-4,3)/6+(f4-m4/6)*(5-4.563)+(f5-m5/6)*(4.563- 4); z=-m4/2*pow(5-4.563,2)+m5/2*pow(4.563-4,2)-(f4-m4/6)+(f5-m5/6);printf(“函数 f(4.563)近似值 :%.16lfn 导数 f(4.563)近似值:%.16lfn“,s,z); /*求出

12、函数值和导数值并输出*/ 3.计算结果计算结果数值分析上机 电工 2009020954 马凯84.问题讨论(误差分析、上机出现情况等)问题讨论(误差分析、上机出现情况等) (1)在做数组相关的编程时,特别注意下标的使用,因为数组下标是从 0 开始的,以后可 以统一将下标为 0 的数组位置置 0,从下标为 1 的位置开始赋值使用。 (2)编程的过程出现问题如下:第二个 for 循环 i-误写成 i+,造成无限循环错误在 乘法的运算中漏掉了两个小括号间的“”号第四题:牛顿法求方程近似根第四题:牛顿法求方程近似根1.解题理论依据或方法应用条件解题理论依据或方法应用条件: 依据牛顿迭代法进行计算,设函

13、数在有限区间a,b上二阶导数存在,且满足条件. ; 0f a f b . 在区间a,b上不变号; fx. ; 0fx . ,其中 c 是 a,b 中使达到的一个. f cfcba min(,)fafb则对任意初始近似值, Newton 迭代过程为0 , xa b,k=0,1,2 1k kkk kf xxxxfx 所生成的迭代序列平方收敛于方程在区间a,b上的唯一解 .kx 0f x 数值分析上机 电工 2009020954 马凯9对本题:0)9 . 1 ()9 . 1 (0)8(4233642)(0)16(71127)(0)9 . 1 (, 0) 1 . 0(,1428)(3225333647 ffxxxxxfxxxxxfffxxxfQ所以:9 . 1 )()(01xxfxfxxkk kk2.计算程序(使用软件:计算程序(使用软件:VC):): #include void main() double x0,x1=1.9,f0,f1; for(x0=1.0;fabs(x0-x1)=0.00001;) x0=x1;f0=pow(x0,7)-28*pow(x0,4)+14;f1=7*pow(x0,6)-112*pow(x0,3);if(f1=0)break;else x1=x0-f0/f1;if(f1=0

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 中学教育 > 初中教育

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号