1、【实验过程】(实验步骤)(一)实验任务描述某种化学反应过程的方程,利用显性和隐形 Eualar方法求解下列一阶线性微分方程组的近似数值解:40.04y1 10 y1y20.04% 104 y-i y2 3 1O7y2yi(0) 5(0) 0, ya(0) 0(二)求解过程Eular方法:一阶线性微分方程初值问题y f(x,y),a x by(a) y。a x0 x., . xn b ( 1)Xn x nh, h为步长方程离散化:差分和差商g y1 y0 y1 y0x1 x0 h愀必)y/0hy1 y hf(x,y) (2)yn 1 yn hf(X)通过初始值y,依据递推公式(2)逐步算出Y1,
2、Y2,.,yn就为显性的Eular方法。隐形Eular方法:(3) hf(X1,yJ yn 1 yn hf(Xn1,yn1)公式(3)即为隐式Eular公式(3) 程序算法1.利用显式Eular法方求解利用MATLA进行求解,编写脚本文件如下:文件名:hql.m% 显性Eular 方法f0=1; g0 =O;zO=Odelta=0.01;time=1;t=0:delta:time;f=zeros(size(t);g=zeros(size(t);z=zeros(size(t);f1=zeros(size(t);g1=zeros(size(t);z1=zeros(size(t);f(1)=f0;g
3、(1)=g0;z(1)=z0;for i=2:le ngth(t)f1(i-1) = -0.04*f(i-1) + 10000*f(i-1)*g(i-1);f(i)=f(i-1)+f1(i-1)*delta;g1(i-1) = 0.04*f(i-1) - 10000*f(i-1)*g(i-1)-3*10A7*g(i-1)A2;g(i)=g(i-1)+g1(i-1)*delta;z1(i-1)=3*10A7*g(i-1)A2;z(i)=z(i-1)+z(i-1)*delta;Fun=f+g+z endfigureplot(t,f.o);xlabel(tylabel(y1ti tle(t-y1变化
4、图plot(t,g,y2t-y2plot(t, z,y3t-y3plot(t,Fu n);y1+y2+y3 );t-y1+y2+y3 变化图【实验结论】A步长h=0.001时进行数据测试。结果如下:迭代第一次时,Columns 12 through 22结果与方程描述内容相符。迭代第二次时,结果与方程描述内容基本相符。迭代三次时,AODe- a1 J.FunColumns 1 thr oueh. 11匚olumns 12 through 221. 00001. ooooi. aooo0. &9590.9803迭代1000次时,0.0000 OOOO-山OOM-7. LEh5-r-HfCulmi
5、ns 23 thxcr_i呂h 33KJi3dtJ thxQLUh ILat dtSA fit CisluHTiA 34 thtouh 440.0 wo。上DM-hoco-a. OCQQim own-O, OGOQT 0000riHKaXZlaRNaXNallEli&NXsClJU誌EuilII曲JI JEl模拟结果已经严重脱离事实,故当选择delta为0.001时,该迭代方法不收敛。时间与个变量直接的变化关系如图所示:(k总:匸:越巫:-1 -?63 I _ L L ! L 11 X 0 001 0 02 0 03 0U & 05 0 C6 0 07 0 C8 0 09 0 1.-233x
6、W-3nrirLA-ii l I L 10.01 0.02 0 03 0J4 ffl.05 Q.06 0 07 Q.OS C.09 0.1从上述图形可以明显看出,在迭代的不断进行时,各变量与时间的变化越来越 大,且严重脱离了方程所描述的现实意义。B.当选择h=0.00000001时,模拟结果如下:迭代第一次,Fun =Columns1 thr axifti 18Ii o aCclvmns19 through 36QQ Q Q与A中结果相同。迭代第二次,1 through L81 119 through 35值I. 9000e-1x101 创1Jxl01 乱1x11 dan并未产生误差。跌二次迭
7、代结果明显优于一中。跌三次迭代结果,pg =Column? 1 through 1 超11110 0匚olunns 19 through 36地1000次迭代结果,Tim 匚 z-lums 1itLTC-Lfih 1J:L兀i:L jQ JOKQW0JL QCOOi.ooqi.:b皿:L.oaao匚 lUtXilr 11lk.srU|li 药3.(009L 30A-3lboqwi.aw1. MDOl.330fl1 旳如.303:mmI.OOCOC-Eljrns 2j.thr nufhL OlOOlLMftfl1- OOJCii.dXOi._ 0(-06i.oaaQj.oooaJ-OOliDLO
8、fl-Jtli.tura(3“luw 311 hx augjqcLMOL 0003loombl omohOQQ hQOMIrlCiJduIIQ 应C#lune 11ikiTfoeInhCWQ.3000B.QOOOi.awn1. D4D0L.anaa1,0000.OTWloodI.OGOOgw*tx C - lijins 5drhx tue?i结果明显是收敛的。卜界*2十/变叱图2 Q从图中能够清晰看出,当 h=0.00000001时,模拟结果与方程所表示的显示意义相吻合。说明了显性Eualr方法的收敛性是与步长的选择是相关。这就对我们们选择步长造成了困难,由于 选择的步长不合适有可能得出错误的
9、结论。【实验小结】(收获体会)1、 软件使用在写MATLABS言的时候要深刻理解题的意图,整理好思绪再做题目,在我运算 的过程中,h取值取得越小、越细微,曲线逼近的越好。2、 欧拉法的缺点简单地取切线的端点作为下一步的起点进行计算,当步数增多时,误差会因积累 而越来越大。因此欧拉格式一般不用于实际计算。3、 实验感想在这次上机实验中,我掌握了解决常微分方程的基本方法,同时学会使用计算机 软件对两种不同方法得到的结果进行判断,对我们以后对数据进行分析很有帮助。三、指导教师评语及成绩:评语评语等级优良中及 格不及格1.实验报告按时完成,字迹清楚,文字叙述流畅,逻辑性强2.实验方案设计合理3.实验过程(实验步骤详细,记录完整,数据合理,分析透彻)4实验结论正确.成绩:指导教师签名:批阅日期:附录:源程序程序1:%显性Eular 方法delta=0.00000001;time=0.00001;t=O:g1
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1