Fortran
1 real*8 function f1(x,y,z,i) 2 3 implicit none 4 integer :: i 5 integer,parameter :: n=14610 6 real*8 :: x,y,z,xj(n),yj(n),zj(n),r,rm,rj 7 real*8,parameter :: gs=40.3396d0,gj=3.8603d-2 8 9 r=sqrt(x*x+y*y+z*z) 10 rm=sqrt((xj(i)-x)*(xj(i)-x)+(yj(i)-y)*(yj(i)-y)+ 11 & (zj(i)-z)*(zj(i)-z)) 12 rj=sqrt(xj(i)*xj(i)+yj(i)*yj(i)+zj(i)*zj(i)) 13 14 f1=-gs*x/(r*r*r)+gj((xj(i)-x)/(rm*rm*rm)-xj(i)/(rj*rj*rj)) 15 16 return 17 18 end function f1 19
このように関数副プログラムを作成したのですが、
f1=-gs*x/(r*r*r)+gj((xj(i)-x)/(rm*rm*rm)-xj(i)/(rj*rj*rj)) (1) unclassifiable statement at (1) f90
とエラーが表示されてしまいます。
コンパイラはgfortranです。
今まで関数副プログラムを作成してこのようになったことはなく、見比べたりしましたがどこにエラーの原因があるのか分からず困っております。
関数の中に配列を組み込む方法も教わったようにしたと思うのですが、このやり方ではまずいでしょうか。
よろしくお願いいたします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/08/02 02:27
2020/08/02 02:52
2020/08/02 12:28
2020/08/02 13:39