円と曲線の交点 #4
はさみうち法でやってみる。
PROGRAM INTERS IMPLICIT NONE DOUBLE PRECISION ERR,HIGH0,LOW0,Y1,Y2,X,Y,HIGH,LOW,MID PARAMETER(ERR=1.0D-10,HIGH0=1.0,LOW0=0.0) Y1(X)=X*TAN(X) Y2(X)=SQRT(1-X**2) HIGH=HIGH0 LOW=LOW0 DO MID=(HIGH+LOW)/2 Y=Y2(MID)-Y1(MID) IF(ABS(Y).LT.ERR)THEN WRITE(UNIT=*,FMT=*)'X=',MID WRITE(UNIT=*,FMT=*)'X*TAN(X)=',Y1(MID) WRITE(UNIT=*,FMT=*)'SQRT(1-X**2)=',Y2(MID) STOP ELSE IF(Y.GT.0)THEN LOW=MID ELSE HIGH=MID END IF END DO END C INTERSECTION POINT = (0.739085133,0.673612029)