1

そのため、Fortran 95 コードを基本的な関数とプログラムの定義だけで機能させようとしています。「Unexpected」または「Unclassified」という行ごとに実質的にエラーが発生します。それは私のコンパイラ(cygwinターミナルで使用されるgfortran)なのか、それともファイルの先頭に何かを入れることになっているのだろうか?誰かが私に何か言うことができるなら、ここにいます。

    double precision :: pi = 3.14159265359

    PROGRAM Diffraction
            write (*,*) sinc(0)
            write (*,*) sinc(pi)
            write (*,*) 1_Slit(0, 1, 550E-9)
    end PROGRAM Diffraction

    function SINC(angle) result(sinc)
    double precision :: sinc
    double precision :: angle
    if angle == 0.0 then
            sinc == 1
    else
            sinc = (sin(angle)/angle)
    endif
    end function SINC

    function I(angle, d, wl) result(I)
            double precision :: I_0 = 0.01
            double precision :: angle, d, wl, I
            A = (d * pi)/wl
            B = SIN(angle)
            I = I_0 * (SINC(A*B)**f2)
    return
    end function I

私がコンパイルする方法は次のとおりです: gfortran Diffraction.f95

4

1 に答える 1