fortranで・・・
実行の画面に数字を入力すると、
英語の文章と
0.0 0.0 0.0
-NaN -NaN -NaN
という文字が出てくるだけなんですが、これはプログラムが組めていないということなのでしょうか?
ちなみに、打ったプログラムは、
C 判別関数
WRITE(*,100)
100 FORMAT(1H1/22X,'判別関数モデル'//19X,'消費量',3X,'消費比率'//19X,
+'清酒',5X,'焼酎',5X,'ビール',7X,'清酒',6X,'ビール',7X,'M'10X,'D'/
+/)
DO 10 I=1,47
CALL SUB1
10 CONTINUE
STOP
END
SUBROUTINE SUB1
DIMENSION B1(3),B2(3),C(3),L(3),P(3)
CHARACTER*12 A
READ(5,50) A
50 FORMAT(3F8.1,3F7.1)
X=1.0
DO 11 K=1,300
Y1=(-1.0)
Y2=0.0
DO 12 J=1,3
B2=0.0
B1=0.0
L(J)=(-NINT(B1(J)*10.0/B2(J)))
S1=Y1+X**L(J)
S2=Y2+L(J)*X**(L(J)-1)
Y1=S1
Y2=S2
12 CONTINUE
W=X-Y1/Y2
IF(ABS(W-X).LT.1E-10) GO TO 13
X=W
11 CONTINUE
13 WO=W
DO 14 J=1,3
C(J)=WO**L(J)
14 CONTINUE
R1=0.0
DO 15 J=1,3
R2=R1+B2(J)
R1=R2
15 CONTINUE
D=0.0
DO 16 J=1,3
P(J)=B2(J)/R1
DO=D+P(J)*ALOG(P(J)/C(J))
D=DO
16 CONTINUE
E=0.0
DO 17 J=1,3
EO=E+(B1(J)/B2(J)*P(J))
E=EO
17 CONTINUE
WRITE(*,200) A,B2,P,E,D
200 FORMAT(1H,2X,A12,3X,3(F7.1,2X),4X,3(F9.6,X),4X,F9.6,2X,F9.6)
RETURN
END
です。
お礼
回答ありがとうございます。 おかげで意味を理解することができました。