您好,欢迎来到六九路网。
搜索
您的当前位置:首页ex1_3-牛顿法例题源程序及注释

ex1_3-牛顿法例题源程序及注释

来源:六九路网
 PROGRAM MAIN REAL KA,C,KW,H0,H,PH EXTERNAL F,G

COMMON KA,C,KW

WRITE(*,*)'ENTER EPS,KA,C:' READ(*,*)EPS,KA,C H0=SQRT(C*KA) KW=1.0E-14

WRITE(*,*)'H0=',H0

CALL NEWN(H0,EPS,F,G,H)

PH=-ALOG10(H) WRITE(*,*)'H=',H WRITE(*,*)'PH=',PH END

FUNCTION F(X) REAL KA,C,KW COMMON KA,C,KW

F=X*(X*(X+KA)-(KA*C+KW))-KA*KW RETURN END

FUNCTION G(X) REAL KA,C,KW COMMON KA,C,KW

G=3*X**2+2*KA*X-KA*C-KW RETURN END

SUBROUTINE NEWN(X0,EPS,F,G,X) REAL X0,EPS K=1

10 FX=F(X0) GX=G(X0) X=X0-FX/GX

IF((ABS(X-X0)/X).GT.EPS)THEN X0=X K=K+1

IF(K.GT.50) THEN

WRITE(*,*)'NO RESOLUTION' GOTO 30 END IF GOTO 10 ENDIF 30 RETURN END

!主程序 !定义函数变量

!外部函数子程序F,G !定义公用变量

!输入醋酸的电离常数和浓度的初值 !SQRT:开方 !水的离子积 !赋初值

!调用牛顿迭代法子程序

!计算PH值

!输出氢离子浓度 !输出PH值 !程序结束

!函数子程序F

!子程序结束

! 函数子程序G,为F的一阶导数

!子程序结束

!牛顿迭代法子程序

!赋初值

!求斜率

!判断是否达到计算精度

!迭代次数大于50输出无解

!子程序结束

有缘学习更多+谓ygd3076考证资料或关注桃报:奉献教育(店铺)

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- 69lv.com 版权所有 湘ICP备2023021910号-1

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务