




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、习题17.(上机题)舍入误差与有效数设国=:,,其精确值为仁/-12(2NN+1(1)编制按从大到小的顺序叉=/一+一一+一+一,计算"的通用程序。N23-132-1N2-1(2)编制按从小到大的顺序网=十1广三;),+-+/'计算"的通用程序。(3)按两种顺序分别计算S0,S1q4,S。,,并指出有效位数。(编制程序时用单精度)(4)通过本上机题,你明白了什么?答:1、从大到小顺序:2、从小到大顺序:1. rtinclude<stdio.h>2. intmain()3. 4. floatS=0,TJI,i=2;5. printfC请输入II:”);6.
2、 scanf(M%f,&!);7. while(i<=N)8. (9. T-l/(iH-l);10. 1-+1;11. S+=T;12. 13. printneS);14. .system("pause");15. return0;16. 11. ttinclude<stdio.h>2. intmain()3. 14. floatS=0,TJI;5. printf("请输入N:”);6. scanf(M%f&N);7. while(H>=2)8. 9. T-1/(11*11-1);10.11. S+=T;12. 13. pr
3、intf(MS-%fn”,S);14. .system(Mpause");15. return0;16. 3、计算结果:N102104106从大到小S"0.7400490.7498520.749852从小到大Sn0.7400500.7499000.749999精确值0.7400490.74990.749999有效位数从大到小班643从小到大麻5464、感想:算法的不同导致计算结果的误差不同,一定要好好设计算法,尽量使算法精确。通过上面的例子,可以看出按不同的计算顺序所得到的结果是不同的,按从大到小的顺序计算的值与精确值有较大的误差,而按从小到大的顺序计算的值与精确值吻合。计
4、算机在进行数值计算时会出现“大数吃小数”的现象,导致计算结果的精度有所降低,使用计算机进行同号数的加法时,采用绝对值较小者先加的算法,得到的结果的相对误差较小。5、附图:值辆人乩1008=0.740049帝按任意槌继续一<|1C:Windows$ystem32Debugl1.exellinclude<stdio.h>intmain()(floatS%T.N,i2;printf请输入N:”);scanK-VSRN);while(i<=N)(s*-T;>printf(,eS-Vn",S);systen(e>pauseM);return0;图1从大到小算
5、法及结果请福人N:100S-0.740050请按任意键继续-C:Windowssystem32Debugll.exetlinclude<stdio.h>intnain()(FloatS=G,T,N;prints,请输入Wscanf(-VRM);while(N>-2)T-1>NH;S*-T;printFC,S-%Fne,»S);systeniCpause*");return0;?图2从小到大算法及结果习题220.(上机题)Newton迭代法(1)给定初值%及容许误差£,编制Newton法解方程f(x)=0根的通用程序。(2)给定方程f(x)=
6、Y/3-x=0,易知其有三个根xf=JJ,Xn=0,芯=百。1 .由Newton方法的局部收敛性可知存在S>0,当£(-5,廿时,Newton迭代序列收敛于根x:。试确定尽可能大的5。2 .试取若干初始值,观察当天£(一s,-l),(-1,-J),(5,1),(1,8)时Newton序列是否收敛以及收敛于哪一个根。(3)通过本上机题,你明白了什么?答:1、通用程序:11.#include<stdio.h>2. .#include<math.h>3. floatf(floatx)4. 5. floatf;6. f=x#x#x/3-x;7. ret
7、urn(f);8. 9. floatdf(floatx)10. 11. floatdf;12. df-x*x-l;13. return(df);M.15 .intmain()16 .(17.floatx0>xl>d,eps=0.0000005;18. intk-0;19. prim”',请输入初值:”);20. scanf("%f”,&x0);21. do22. 23. d=-f(x0)/df(x0);24. xl=x0*-d;25. kr;26. x0-xl;27. 28. .while(fabs(d)>eps);29. printf(“迭代d次后
8、,根30. .system(Mpause");31. return0;32. 1. #include<stdio.h>2. #include<math.h>3. floatf(floatx)45. floatf;6. f=x*x*x/3-x;7. return(f);2、确定尽可能大的b:(由于函数是奇函数,故仅需在正半轴求3)8. 9. floatdf(floatx)10. (11. floatdf;12. df=x*x-l;L3.return(df);14. 15. intmain()16. 117. floatx00,xl,d;18. floateps=
9、0.000005,delta=0;19. while(x0=0)20. 121. delta-del13+0.000001;22. x0sx0delta;23. do24. 25. d-f(x0)/df(x0);26. xl=x6*-d;27. x0=xl;28. 29. .while(fabs(d)>eps);30. )31. delta=delta-0.000001;32. printf(“尽可能大的值delta);33. system。'pause");34. return0;35. 运算结果为:0.7745963、测试是否在给定区间收敛:在五个区间内分别取初值-
10、100000,-0.8,0.5,0.9,110000测试是否收敛及收敛到哪个根,结果如下表:初值-100000-110000是否收敛是是是是是收敛于-V30V3悔4、感想:选取的迭代初值不同,则迭代序列将有可能收敛于不同的根,牛顿法对迭代初值的要求较高。有些区间收敛范围相当大,有些却非常小。另外,我发现容许误差的大小对迭代结果的精度有很大的影响,如果想得到比较精确的结果,要将容许误差设置小一点。5、附图:图1利用牛顿法求方程的近似解01.CFloatdf;df=x*x-1;return(dF);»C:windowssystem32Debugl.exeintnain(
11、)Floatx0=0Bx1,d;Floateps=0.000005,delta=0;while(xO=Q)<delta=delta*0.OOO0O1;x0=x0*delta;do<d=-F(xfl)/dF(x0);x1=x0*d;XO=X1;)while(Fabs(d)>pps);>delta=delta-0.000001;printf,尽可能大的值=%Fn”,delta);system(aapauseaa);return0;>图2确定收敛范围习题339.(上机题)列主元Gauss消去法对于某电路的分析,归结为求解线性方程组RI=V,其中R为9阶矩阵,参见课本12
12、7页Vr=(-15,27,-23,0,-20,12,-7,7,0)(1)编制解n阶线性方程组Ax=b的列主元三角分解法的通用程序:(2)用所编制的程序解线性方程组RI=V,并打印出解向量,保留五位有效数;(3)本编程之中,你提高了哪些编程能力?基1、通用程序1.#include<stdio.h>#include<math.h>#definedeltale-64.#defineN100intmain()inti,floatpj»inax,s;floatXN;10. floataNIUl;11. printf(w请输入系数矩阵的阶数:n-);12. scanf&a
13、mp;n);13. print”输入的增广矩阵系数,中间用空格隔开:n“);14. for(i=0;i<n;i+)15. for(j-0;j<rw-l;j-w-)16. scanfC-Xf.&afiJlj);17. prinTC你输入的增广矩阵为:n“);18. for(i=0;i<n;iH)19. 120. for(j=0*rw4;j+)21. printfCf,aij);22. prints(MnM);23. )24. for(j«0;j<n-l;j+)2.33.34.max-fabs(ajj);E;for(i
14、-j+l;i<n;i+)if(fabs(aij)>max)max=aij;r-i;35.36.if(fabs(alj)<delta)37.printfC'矩阵奇异");38.for(t=j;t<rw-l;t-M-)39.40.P-ajt;41.ajt-art;42.art-p;43.44.for(i-j+l;i<ll;i+)45.46.L=aij/ajj;47.for(t=j;t<n+l;t+)48.ait-ait-L*ajt;49.)50.51.prinHC输出原方程的解为:n”);52.Xn-l-an-1n/an-ln-l;S3.for
15、(i»n-2;i>-0;i-)54.|S5.s»ain;56.for(j-i+l;j<n;j+)57.s-s-aij*Xj;58.Xi=s/aii;59.60.for(u-0;u<n;iH-F)61.for(j=0;j-M-)62.63.printfC%12r',auj);64.C+;65.if(c%(n+l)=0)66.67.68.for(i-0;i<n;i+)69.|70.printfCtx(%d)=%.4fnti>i+l>Xi);71.if(in-1)72.printf(-n-);73.74.system(Mpause0);
16、75.76.return0;,运行程序,方程的解为:X1x2x3x4x5x6x7x8x9-0.28923034544-0.71281-0.22061-0430400.15431-00578230201050.290233、感想:首先,通过本上机题,提高了我运用循环语句的能力;其次,是我对各种排序算法有了更深的理解:最后,是我对二维数组有了更好的把握,并且认识到MATLAB在处理矩阵运算上的优势。在上机的过程中,加深了对Gauss消去法的认识。4、附图:C:windowssystem32Debugte.exeIu)回ip输入系数矩阵的阶数?9心前人的增广矩阵杂苑中间用中格隔开:31-13WMW-
17、1WWWW-15T335-9W-11SSSW27W-931TSSWWSS-2300-1079-30000-90000-3057-70-50-200000747-3000120卜000-304100-70000-50027-270。A-9AAA-22910卜尔输入的增广矩阵为.31.00-13.000.000.000.00-10.000.000.000.80-15.00klJ.UU35.90-9.UU9.99-11.0U9.09M.M9UI.UU9.9927000.00-9.0031.00-10.000.000.000.000.000.00-23.00SSS-1W.WW79.WW-3W.WWM.
18、MMM.MMH.SS-9,WWW.SS0.000.000.00-30.0057.00-7.000.00-9.000.00-20.00。仍0A.ARA.RA0.0A-7.RA47.RA-30.RRA.RA0.ARJL2.00M.anS.0SU.UUU.UUM.UU-3S.SS41.000MI0.SS-7.00B000.000.000.00-5.000.000.0027.00-2.007.000.(d00S000S-9.00900SS000S-2.0U29.0010.00匡算后的矩阵及方程的解为:31.000000-13.0000000.000A000.A0000O0.0RA0A0-10.0A00
19、000.0000000.00000。0.00000。-15.000000-AAAA0AA29.548388T.AAAAAAA.AAAAAA-11.ARAAAA-4.193548A.AA00600.UUU00M0.U0U0UU20.7096770.0000000.00000028.258734-10.000000-3.350437-1.2772920.00卜0s00.0099000.900990-16.6921410.0000000.0000000.00000。75.4G1273-31.165G29-0.4519990.00666。0.000000-9.000000-5.906896图1输入增广
20、矩阵prints喳京§的矩阵及方程的解为tW);Xni-an-in/anln-1;or(i-n-2;i>-6;i-)<s»ain:For(J=1*1;5=5-aij>Xj;Xi-5/aii;)fnr(u=B;u<n;u*4)f-or(j=0;j<n4l;j+*)<printfC%12f,auj);c*;iF(c%(n*1)=0)printfCAn-);>for(i=o;l<n;i*)<printF(iBx(d)-%.5Fn-,i*1,Xi);iF(i=n-1)printFCn*);)systeiiC-pdusee);re
21、turn0;Cwindbvs'sy式uni32Debugtei.exe0.0000080.00000028.258734-10.(00C60.0006000.000006-16.692141-U.?5.-ueeeu.uhhouh-,则mw-5.9H68?60.0000000.0000000.000000-0.(oeee-5.000000-3.577994-22.3403168.0000000.O00G000.0000008.(00G6-0.784718-0.561543S.492574H.l0697-feJ.513187-0.367236T.4469540.0000080.000009
22、0.0000008.(oeee26.413086-2.4199964.6081010.0000000.Q000000.000060-0.(00C60.00000027.3895037.949220卜(1)=5.28923Lc<2)=0.34544卜<3二-0.71281Lc<4>-0.22061卜0-0.43046<6)=0.15421Uv>=-W.Wb782k89291匕5Lc<9>-0.29023限按任怠键绝妄习题437.(上机题)3次样条插值函数(1)编制求第一型3次样条插值函数的通用程序;(2)已知汽车门曲线型值点的数据如卜.:10123
23、45678910X1012345678910Yi2.513.304.044.705.225.545.785.405.575.705.80端点条件为y;=o.8,y;o=O.2,用所编程序求车门的3次样条插值函数S(x),并打印出S(i+0.5),i=0,1,9o(1)通用程序:1. #include<stdio.h>2. #include<math.h>3. #include<stdlib.h>4. #definedeltale-65. #defineII1006. intmain()6.18. inti,j9. floatp,L»maxs,hDl
24、»D2;10. floatx町11. floataNN+l=0;12. /啸入题1韶牛*/13. printf(“请输入插值节点的个数:nM);14. scanf(M%d*&n);15. print£(请从左到右输入插值节点:n”);16.17. (18. scanf(8%f“,&xi);19. 20. printa,请输入插值节点对应的函数值:n");21. for(i-0;i<n;i+)22. 123.24. )25. print«,请输入插值初始匏牛:n”);26. printf("y(0)J);27. scanf(
25、w%f&Dl);28. print"、,(n),“);29. scanf(-%fe&D2);30. /*产生育足万程组增广走阵系数*/31. a0l=l;32. an-ln-2=l;33. for(i«0;i<n;i+4-)M.aii-2;35. for(i=l;i<n-l;i-1-F)36. 37. h-(xi-xi-l)/(xi+l-xi-l);38. aii.l-h;39. aii+l=l-h;40. 41. a0n-6t(yn-2-yn-1)/(xn-2-xn-1)-D2)/(xn-2-xn-1);42. an-ln-6*«yl
26、-y0)/(xl-x01)-Dl)/(xl-x0);43. for(i=l;i<n-l;i-F+)44. 45. ain-6*(yi+l-yi)/(xi+l-xi)-(yi-yi-l)/(xi-xi-l)/(xi+l-xi-l);46. 47. print"”请确认弯矩方程的增广矩阵为:n”);48. for(i-0;i<n;i+-»-)49. 50. for(j=0;j-M-)51.52. printf(wnw);53. 54. .for(j=0;j+)55. 56. 57. max=fabs(ajj);58. r=j;59. 60. for(i-j+l;i&
27、lt;n;i+)61. if(fabs(aij)xnax)62. 63. max-aij;64. r-i;65. 66. if(max<delta)67. printf(”陲奇异n");68. for(t-j;t<n+l;t+)69. 70. p=ajt;71. ajt-art;72. art-p;74. for(i=j+l;i<N;i+)75. 76. L-aij/ajj;77. for(t-j;t<n+l;t+)78. ait=ait-L*ajt;79. 80. 81. /,输出蹄防程的计算结果/82. print*整理后的增广矩阵为:n”);83. Mn
28、-l=an-1n/an-1n-1;84. for(i-n-2;i>-0;i-)85. 86. s=ain;87. for(j=i+l;j<n;j+)88. s-s-aij*Mj;89. Mi-s/aii;90. 91. for(u=0;u<n;iH-+)92. for(j-0;j<n+l;j+)93. 94.95. C+;96. if(c%(n+l)-0)97. printf(MnM);98. 99. printfC却访程解向量为:n”);100. for(i-0;i<n;i+)101. 102. printf(MM(%d)=%fnw>i+l>Mi);
29、103. if(i=n-l)104. printf(MnM);105. 106. /*计算插值函数*/107. printf样条函数如下:n");108. for(i-0;i<n-l;i+)109. 110. printf(MS(x)=%f+%f(x-%.2f)+%f(x-X.2f)A2+%f(x-%.2f)A3t%2.1f<x<%2.1f,,yi,(yi+lyi)/(xi+l-xi)-(f4i/3-i-Mi+l/6)*(xi+l-xi),xi,M111. printf(-nM);112. 113. prin"("S(i+0.5)的值如下:n”)
30、;114. for(i-0;i<n-l;i+)115. 116. printfC-S(%d4-0.5)=%r>i>yi+(yi+l-yi)/(xi+l-xi).(Mi/3+Mi+l/6)*(xi+l.xi)(i+0.5-xi)+Mi/2t(i+0.5.xi)(i+0.5.xl)+(Mi+l-Mi)/6/(xi+l-xi)*(i+0.5-xi)*(i+0.5-xi)*(i+0.5-xi);117. printf(MnM);118. 119. system(MpauseM);120. return0;121. (2)打印出3次样条插值函数S(x),并打印出S(i+0.5),(i=
31、0,1,9)1、样条函数如下:2.510000+0.690000X+0.189038X2-0.089039X3(0,1)(1,2)(2,3)(3,4)(4,5)(5,6)(6,7)(7,8)(8,9)(9,10)3.300000+0.800961(x-1)-0.078078(x-I)2+0.017117(x-I)34.040000+0.696156(x-2)-0.026728(x-2)2-0.009428(x-2)34.700000+0.614416(x-3)-0.055011(x-3)2-0.039405(x-3)3S(x)=5.220000+0.386178(x-4)-0.173227(x
32、-4)2+0.107049(x-4)35.540000+0.360870(x-5)+0.147919(x-5)2-0.268789(x-5)35.780000-0.149659(x-6)-0.658448(x-6)2+0.428107(x-6)35.400000-0.182234(x-7)4-0.625873(x-7)2-0.273639(x-7)35.570000+0.248596(x-8)-0.195043(x-8)2+0.076447(x-8)3<5.70000+0.08785l(x-9)+0.034299(x-9)2-0.022149(x-9)32、S(k0.5)的值如下:X10
33、.Yi2.89113.68314.38024.98855.38325.72385.59415.43115.65515.7497(3)附图:(0)=0.8(n)=0.2f确认弯矩方程的增广矩阵为:001.000.000.00502.000.500.00000.502.000.50000.000.502.00000.000.000.50000.000.000.00000.000.000.00000.000.000.00000.000.000.00000.000.000.00000.000.000.00!理后的增广矩阵为:001.000.000
34、.00001.750.500.0000-0.001.860.50000.00-0.001.87000.000.000.00000.000.000.00(X)0.()00.000.00000.000.000.00000.000.000.00000.000.000.00000.000.000.00.-000005000500000000000..0000000500050000000000.000.000.000.000.000.502.000.500.000.000.000.000.000.000.000.000
35、.000.502.000.500.000.00..000000000000050005000,.000000000000000500000..000000000000000005000.1.0.()..0000005087000000000000pppp1ppppP000000005087).00000000000.000.000.000.000.000.501.870.000.000.000.000.000.000.000.000.000.
36、000.501.87-0.000.000.00..1.-(0.000000000000005087),0000..0.1.(00000000000000005087).00..00000000000()0000050730.60-0.150.24-0.42-0.600.24-1.861.650.12-0.090.060.60-0.30-0.15-0.380.500.11-1.832.14-0.690.100.11图2生成弯矩方程的增广矩阵M(7)=-l.316896M(8)=l.251746M(9
37、)=-0.390087,(10)=0.068597M(ll)-0.064299样条函I数如下:0.0<x<1.01.0<x<2.02.0<x<3.03.0<x<4.04.0<x<5.05.0<x<6.06.0<x<7.07.0<x<8.08.0<x<9,09.0<x<10.05(x)=2.510000+0.690000(x-0.00)0.189038(x-0.00),2一0.089039(x-0.00)3S(x)二3.300000+0.800961(x-1.00)+-0.07
38、8078(x-L00)0.017U7(xT.00)*3S(x)=4.040000+0.696156(x-2.00)+-0.026728(x-2.001210009428(x-2.00厂3J(x)=4.700000+0.614416(x-3.00)-0.05501l(x-3.00)20.039405(x-3.00)*35(x)-5.220000+0.386178(x-4.00)+-0.173227(x4.00)*240.107049(x-4.00)*35(x)=5.540000+0.360870(x-5.00)+0.147919(x-5.00)*2+4).268789(x-5.00)*35(x)
39、=5.780000+-0.149659(x-6.00)+4).658448(x-6.00)*2+0.428107(x-6.00)35(x)=5.4000000.182234(x-7.00)+0.625873(x-7.00)-0.273639(x100)3S(x)=5.570000+0.248596(x8.00)+-0.195043(x-8.00)"2+0.076447(x-8.00)飞J(x)=5.700000+0.087851(x-9.00)0.034299(x-9.00)2D.022149(x-9.00)3义i+0.5)的值如下:5(0+0.5)=2.8911305(1+0.5)
40、=3.683101>(2<5)=4.380217S(3+0.5)=4.9885305(4+0.5)=5.383163S(5+0.5)=5.723816S(6+0.5)=5.594072>(7+0.5)=5.431146>(8+0.5)-5.6550935(9+0.5)=5.749731图3输出插值函数及计算结果习题623.(上机题)常微分方程初值问题数值解常微分方程初值问题数值解(1)编制RK4方法的通用程序;(2)编制AB4方法的通用程序(由RK4提供初值);(3)编制AB4-AM4预测校正方法通用程序(由RK4提供初值):(4)编制带改进的AB4-AM4预测校正方法
41、通用程序(由RK4提供初值);(5)对于初值问题Cy'=-x2y2y(0)=3取步长h=01,应用(1)(4)中的四种方法进行计算,并将计算结果和精确解y(x)=3/(l+/)作比较:(6)通过本上机题,你能得到哪些结论?存:(1) RK4通用程序:1. #include<stdio.h>2. #include<stdlib.h>3. .#include<math.h>4. tfdefineH0.15. intmain()0.11.12.floatxyr3;floatklJk2,k3>k4;floatfuni(float,flo
42、at);inti,n;printf(“请输入xy的初值:nM);13.14.print”,请输入运算次数:n");scanf(,%1,8m);8.printf(“运算果为:n");for(i«0;i<n;i+)printfCtx%-2d=%.2f>ty%-2d=%f>ty(%-2d)=%f>tr(%-2d)=XfiJx>iJy>i>19.printf(-n-);3.24.25.kl=funl(x,y);k2Tlml(x+H/2,y+H,kl/2);k3-funl(x+H/2,y+H*
43、k2/2);k4=funl(x+H»y+H*k3);x=x+H;yy+H(kl+2,k2+2,k升k4)/6;26. r=3/(l+x*x>x);27. )28. system(*epauseM);29. return0;30. 31. floatfunl(floatx,floaty)32. 133. floatf;34. f=-x*x,y,y;35. returnf;36. )(2) AB4通用程序:1. #include<stdio.h>2. #include<stdlib.h>3. #include<math.h>4. #defineH
44、0.15. intmain()6. (7. floatx,y,r3;8. floatkl,k2,k3>k4,t100=0;9. floatfuni(float,float);10. int11. printf("请输入x,y的初值:n”);12. .scanf,&x,&y);13. printf(”请输入运算次数:nM);14. scanf("d”,&n);15. print告果为:ne);16. for(i=4;i<n;i+)17. 118. if(i<5)19. 20. for(j=0;j<4;j+)21. 22. pri
45、ntf("x%2d%.23ty%-2d%3ty(%2d)%,j,x,j,y,j,p);23. printf(MnM);24. kl=funl(x>y);25. k2=funl(x+H/2Jy+H*kl/2);26. k3-funl(x+H/2,y+H*k2/2);27. k4=funl(x+H,y+H*k3);28. tj=y;29. x-xiH;30. y-y+H*(kl+2'k2+2*kB+k4)/6;31. r=3/(Ux*x*x);32. .33. x-x-H;M.)35. ti=ti-l+H*(55runl(x,ti-l)-59*funl(x-H,ti-2)+
46、37Hunl(x-2+H,t)/24;36. x-x-i-H;37. r-3/(l+x#x#x);38. printf(-x%-2d=%.2f>ty%-2d=%f>ty(%-2d)=%f>tr(%-2d)=%fi>x>i,ti>39. printf(Mnw);40. 41. system("pauseM);42. return0;43. 44. floatfunl(floatx,floaty)45. 46. floatf;47. f,-x*x,y,y;48. returnf;49. (3) AB4-AM4通用程序:1. #include<st
47、dio.h>2. #lnclude<stdlib.h>3. #include<math.h>4. #defineH0.15. intmain()6. 17. floatx,y,r=3;8. floatklJk2,k3Jk4Jt100=0>Y100=0;9. floatfunl(float,float);10. int11. prints(“请输入x0的初值:n”);L2.scanf(,%<%<->fix.&y);13. printf(“请输入运算次数:nw);14. scanfC*Xd*&n);15. printfC运算结果
48、为:n”);16. for(i=4;i<n;i-H-)17. 18. if(i<5)19. 20. for(j-0;j<4;jti)21. (22. printf(,tx%-2d=%.2f>ty%-2d=%f>ty(%-2d)=%f-第16页23. printf(MnM);24. kl=funl(x,y);25. k2-funl(x+H/2,y+H*kl/2);26. k3=funl(x+H/2>y+H*k2/2);27. k4=funl(x+H,y+H*k3);28. Yj-y;29. x-x+H;30. y=y+H*(kl+2,k2+2*k3+k4)/6
49、;31. r=3/(l+xtxtx);32. 33. x-x-H;M.35. ti=Yi-l+H*(55Hunl(x,Yi-l)-59runl(x-H,Yi-2)+37,funl(x-2,H,Yi-3)-9*funl(x-3*H,Yi-4)/24;36. YiYi-l+H*(9*funl(x+Hji)+19*funl(x,YilA5Hunl(xH,Yi2D+funl(x-2H>Yi-3)/24;37. x=x+H;38. r3/(l+x,x,x);39. printf(,x%-2d=%.2f,ty%-2d=%f>ty(%-2d)=%f>tr(%-2d)=%fi>x>
50、;i>Yi>i,r,i,r-Yi);40. printf(wnM);41. )42. .system("pauseM);43. return。;44. 45. floatfunl(floatx,floaty)46. 147. floatf;48. f=-x,x,y,y;49. returnf;50. (4)改进的AB4-AM4通用程序:1. #include<stdio.h>2. #include<stdlib.h>3. .#include<math.h>4. #defineH0.15. intmain()6. (7. floatx&g
51、t;y>r=3;8. floatkl>k2,k3>k4,t100=0,Y100=0>R100=0;9. floatfunl(float;int11.printfC请输入x,y的初值:n”);£2.scanfC,f%">&x,&y);13. printf(”请输入运算次数:nM);14. scanf(M%d,&n);15. printfC运算结果为:n-);16. for(i«4;i<n;i+)17. 18. if(i<5)19. 20. for(j-0;j<4;j)21. 22. print”
52、“x%-2d=%.23ty%-2d=%3ty(%-2df23. printf(MnM);24. klfunl(xy);25. k2=funl(x+H/2,y+H*kl/2);26. k3=funl(x+H/2>y+H*k2/2);27. k4=funl(x+H>y+H*k3);28. Rj-y;29. x»x+H;30. y=y+H*(kl+2+k2+2*k3+k4)/6;31. r=3/(l+xtxtx);32. )33. x»x-H;M.35.ti=Ri-l+H*(55runl(x,Ri-l)-59runl(x-H,Ri-2)+37runl(x-2H,Ri-3)-9*funl(x-3*HJRi-4)/24;36. Yi=Ri-l+H*(9*f
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- GB/T 32151.39-2025温室气体排放核算与报告要求第39部分:建筑石膏生产企业
- 【正版授权】 IEC TR 63411:2025 EN Grid connection of offshore wind via VSC-HVDC systems
- 自卸车运输租赁合同
- 砌石方工程承包合同
- 企业建筑工程劳动合同范本(28篇)
- 5G通信技术研究与应用开发合同
- 小型维修劳务分包合同
- 建筑合同分哪几种合同
- 发寻求同行合作协议
- 跨境电商平台交易免责协议
- 应急救援知识与技能培训
- 农副产品精深加工技术
- 工作交接表表格模板
- 论犯罪与刑罚
- 物流营销(第四版) 课件 胡延华 第3、4章 物流目标客户选择、物流服务项目开发
- (完整版)洁净室工程师培训教材
- 新概念英语第三册课后习题答案详解
- 宁夏回族自治区地图矢量动态PPT模板(图文)
- 教育测量与评价第三版PPT完整全套教学课件
- 中小学教师教育法律法规培训PPT页
- 非遗文化介绍推广课件
评论
0/150
提交评论