&;不';Fortran中长方程的t运算

&;不';Fortran中长方程的t运算,fortran,Fortran,任何人都可以在Fortran中找出这些行的错误: if (i==1) then u(i,j+1)=u(i,j)-c*dt/2/dx*(u(i+1,j)-u(imax-1,j)) & + (c*c*dt*dt)/2/dx/dx*(u(i+1,j)-2*u(i,j)+u(imax-1,j)) 此处有更多代码: select case (case_no) C.. 1--Lax Wendroff one step scheme case (1)

任何人都可以在Fortran中找出这些行的错误:

if (i==1) then
    u(i,j+1)=u(i,j)-c*dt/2/dx*(u(i+1,j)-u(imax-1,j)) &
    + (c*c*dt*dt)/2/dx/dx*(u(i+1,j)-2*u(i,j)+u(imax-1,j))
此处有更多代码:

      select case (case_no)
C.. 1--Lax Wendroff one step scheme
      case (1)
          write (6,*) 'Entrance for the Lax-Wendroff one step method'
          t=dt            
          do while (t<=18)
              do i=1,41
                  if (i==1) then
                      u(i,j+1)=u(i,j)-c*dt/2/dx*(u(i+1,j)-u(imax-1,j))    &
                      + c*c*dt*dt/2/dx/dx*(u(i+1,j)-2*u(i,j)    &
                      + u(imax-1,j))
                  else if (i==41) then
                      u(i,j+1)=u(i,j)-c*dt/2/dx*(u(i+1,j)-u(i-1,2))    &  
                      + c*c*dt*dt/2/dx/dx*(u(i+1,j)-2*u(i,j)    &
                      + u(i-1,2))
                  else 
                      u(i,j+1)=u(i,j)-c*dt/2/dx*(u(i+1,j)-u(i-1,j))    & 
                      + c*c*dt*dt/2/dx/dx*(u(i+1,j)-2*u(i,j)    & 
                      +u(i-1,j))
                  end if 
                  j=j+1
                  t=t+dt
              end do
          end do
选择案例(案例编号)
C1——Lax-Wendroff一步方案
案例(1)
写(6,*)“Lax Wendroff一步法入口”
t=dt

while(t您有固定格式的源代码特性(您在第一列中使用C来开始注释),但您询问的是自由格式行的延续。您需要确定您使用的源代码格式(在不需要与古代代码保持一致的情况下,自由格式是最好的),告诉编译器您正在以适当的方式使用自由格式(通常使用.f90文件扩展名),然后确保注释样式、标记拆分和行延续方面与该格式一致。

您有固定的表单源功能(您在第一列中使用C开始注释)但您询问的是自由格式行的延续。您需要决定使用哪种源格式(在不需要与古代代码保持一致的情况下,自由格式是最好的),告诉编译器您正在以适当的方式使用自由格式(通常使用.f90文件扩展名)然后确保注释样式、标记拆分和行延续方面与该形式一致。

我不相信编译器说的是1.在'u(I,j+1'处的可分类语句。'我希望它说的是1.在'u(I,j+1'处的不可分类语句。''请正确设置代码格式并准确报告错误消息。在这种情况下,前一点非常重要,因为错误的原因可能是格式不正确。好的,我已经这样做了。行看起来没问题,您可以在它周围再添加几行吗?还有,
+
位于哪一列?您是如何编译的?使用wh在编译器?我相信这是因为行太长了。我试过在与u(I,j+1)相同的列中使用+和=,但不起作用。我使用gfortran作为编译器。我添加了更多有问题的代码。我不相信编译器说1。在“u(I,j+1)”处的classifiable语句,我希望它说1。在“u(I,j+1)”处的unclassifiable语句'请正确设置代码格式并准确报告错误消息。在这种情况下,前一点非常重要,因为错误的原因可能是格式不正确。好的,我已经这样做了。行看起来没问题,您可以在它周围再添加几行吗?还有,
+
位于哪一列?您是如何编译的?使用wh在编译器?我相信这是因为行太长了。我试过在与u(I,j+1)相同的列中使用+和=,但不起作用。我使用gfortran作为编译器。我添加了更多有问题的代码。