이 식에서 람다가 0부터 2까지 0.01씩 증가한 값을 넣어서 나온 W_b 값을 구해야 되는데요....
C_1 은 x, C_2 는 y, T는 z 로 대입하고 풀었어요
DO 구문으로 반복해야했기 때문에 i를 0과 200의 숫자를 줬고
ir=i*0.01로 하여 실제 대입하는 값을 맞춰줬어요
program hw1
implicit none
integer::i
real::x,y,z,result1,ir
! CHARACTER(10) :: filename="hw1.dat"
x=3.742E+08
y=1.4388E+04
z=27
! OPEN(UNIT=2,FILE=filename,STATUS="NEW",ACTION="WRITE")
Do i = 0, 200
ir = i*0.01
result1 = x /(ir**5*(exp(y/(ir*z))-1))
write(*,*) ir, result1
end do
! CLOSE(2)
End program hw1
이렇게 코드를 짰고 이것도 조교님이 도와주신거였거든요...
근데 결과가 어떻게 나왔나면
ir result1
0.000000 NaN
9.9999998E-03 0.000000
2.0000000E-02 0.000000
2.9999999E-02 0.000000
3.9999999E-02 0.000000
4.9999997E-02 0.000000
5.9999999E-02 0.000000
7.0000000E-02 0.000000
7.9999998E-02 0.000000
8.9999996E-02 0.000000
9.9999994E-02 0.000000
0.1100000 0.000000
0.1200000 0.000000
0.1300000 0.000000
0.1400000 0.000000
0.1500000 0.000000
0.1600000 0.000000
0.1700000 0.000000
.....
이런식으로 값이 전부 0이 놔왔어요
저 식에서 exp(y/(ir*z)) 이 부분의 값이 10의 100승을 넘을 정도로 큰 값이 나오긴 하는데
전체 식에서도 계산이 안 될 정도일까요...?
정말 답답해 죽겠습니다 ㅠㅠㅠ