回 帖 发 新 帖 刷新版面

主题:[讨论]fortran编程总是报错

PROGRAM interpolation errors
IMPLICIT NONE
REAL :: x,F(x),q,P2,P6,P8
INTEGER :: i,j,k,m
F(x)=1/1+x**2
i=0
DO 
 i=i+1
 IF(i=2 .OR. i=6 .OR. i=8)
  REAL :: A(0:i,0:2)
  REAL :: P(i)=0
  q=10/i
  A(0,0)=-5
  A(0,1)=F(A(0,0))
  A(i,2)=1
  j=1
  DO 
   j=j+1
   IF(j>i) EXIT
    A(j,0)=A(j-1,0)+q
    A(j,1)=F(A(j,0))
    k=0
    DO
     k=k+1
     IF(k>i) EXIT
      IF(k.NE.j)
       A(k,2)=A(k,2)*(x-A(j,0))/(A(k,0)-A(j,0))
      ELSE
       A(k,2)=A(k,2)*(x-A(0,0))/(A(k,0)-A(0,0))
  m=0
  DO
   m=m+1
   IF(m>i) EXIT
   P(i)=P(i)+A(m,1)*A(m,2)
  P2=P(2)*F(x)      
  P6=P(6)*F(x)
  P8=P(8)*F(x)
 IF(i>8)
  enddo
END PROGRAM interpolation errors

回复列表 (共3个回复)

沙发

定义只能放在说明部分。
把你的错误信息给出来,若是算法有问题,请把程序目的给出来~

板凳

错的太多
函数名不能有空格
声明必须放在最前面
if没then也没endif
逻辑判断写成了赋值语句
do和enddo的数量搭配么,反正我没数

3 楼

這程序實在是~~~~
要是不報錯的話——除非編譯器是您自己寫的:)
先照著董兄說的改改吧。。。

我来回复

您尚未登录,请登录后再回复。点此登录或注册