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
本站由北京市万商天勤律师事务所王兴未律师提供法律服务