1. 用迭代法就算 x3-x-1=0program mainimplicit noneinteger stepreal(8):: x,yn,yn1,awrite(*,*) "输入初值 x="read(*,*) xyn=xyn1=(yn+1)**()a=abs((yn1-yn)/yn)if(a<=1e-6) thenwrite(*,*) "方程的解为 x=",yn1elsestep=0do while(a>1e-6)yn=yn1yn1=(yn+1)**()a=abs((yn1-yn)/yn)step=step+1end doend ifwrite(*,*) "方程的解为 x=",yn1pausewrite(*,*) "循环次数为",steppausestopend计算结果为 ,迭代次数为 92. 用 Monte Carlo 的方法求ò0 1 +x 2dxI =1 1program mainimplicit nonereal:: a1=,b1=:: n=1e9write(*,*)"积分结果是:", mentekarol(a1,b1,n)pausecontainsfunction mentekarol(a,b,n)result(s)real a,b,s,preal ::sum=0,randnum,x,yinteger i,ndo i=1,ncall random_seed()call random_number(randnum)call random_number(y)x=a+(b-a)*randnump=y-/(+x**2)if(p<=0) thensum=sum+ ifend dos=sum/nend function mentekarolend一次运算结果为 ,一次为 ,存在一定的误差,反映其收敛性、精度不高的特点。3. 用牛顿迭代法计算化学反应的平衡浓度牛顿迭代程序****题:一价弱酸电离常数为 K,试求浓度为 C 的该弱酸溶液的 pH 值。K=*10-5,C=。由题意得:设该酸为 HA,则溶液中存在的平衡方程如下所示:HA=H++A-H2O= H++OH- KW= [H+][OH-]同时存在以下关系:[H+]= [ OH-]+[ A-]=KW/[H+]+K×[HA]/ [H+][HA]+[ A-]=[HA]+ K×[HA]/ [H+]=C所以:[H+]2=KW+K×[HA][HA]=C×[H+]/([H+]+K)由此可得:[H+]3+K×[H+]2-(KW+K×C) ×[ H+]-KW×K=0其为关于[H+]的一元三次方程。以下用牛顿迭代法对其进行求解。program mainimplicit nonereal:: p
计算机简单应用 来自淘豆网www.taodocs.com转载请标明出处.