Fortran Coder

标题: 请各位高手帮帮忙,循环中的数组问题 [打印本页]

作者: showshow    时间: 2014-3-22 11:02
标题: 请各位高手帮帮忙,循环中的数组问题
大家好!本人初学fortran,版本是compad visual fortran.现编了一个订正风场风速风量的程序,但总显示我定义的数组有问题,不知是何原因,请各位高手指点迷津,谢谢大家。

[Fortran] 纯文本查看 复制代码
program exercise1_2
implicit none
!读入风向风度数据
real a(5,6),u1(5,6),v1(5,6),u(5,6),v(5,6),w(5,12),L0
real i,j
real,parameter::pi=3.1416,r=6378.140,k=0.7156,b=(pi/3)
L0=r/k*sin(b)
open(unit=10,file='F:\111\dddff.txt',recl=4)
do i=1,5
  read(10,*) (w(i,j),j=1,12)
enddo
!计算风场分量
do i=1,5
  do j=1,6
    u1(i,j)=w(i,j+1)*sin(w(i,j)*pi/180-pi)
    v1(i,j)=w(i,j+1)*cos(w(i,j)*pi/180-pi)
  enddo
enddo
!计算订正风场
do i=1,5
  do j=1,6
    a(i,j)=atan2(((j-1)*100),(L0-(i-1)*100))
    u(i,j)=u1*cos(a(i,j)*pi/180)+v1*sin(a(i,j)*pi/180)
    v(i,j)=v1*cos(a(i,j)*pi/180)-u1*sin(a(i,j)*pi/180)
  enddo
enddo
end



作者: 珊瑚虫    时间: 2014-3-22 11:14
[Fortran] 纯文本查看 复制代码
do i=1,5
        do j=1,6
                a(i,j)=atan2(((j-1)*100),(L0-(i-1)*100))
                u(i,j)=u1*cos(a(i,j)*pi/180)+v1*sin(a(i,j)*pi/180) !注意这一行和下一行中,u1,v1也是二维数组,你需要制定他们的位置,比如u1(i,j)
                v(i,j)=v1*cos(a(i,j)*pi/180)-u1*sin(a(i,j)*pi/180)
        enddo

enddo

作者: 楚香饭    时间: 2014-3-22 15:54
建议不要提供源代码的截图,这样别人无法复制粘贴,无法为你测试。

论坛可直接张贴 Fortran 代码,会自动进行高亮显示。
作者: showshow    时间: 2014-3-22 17:12
珊瑚虫 发表于 2014-3-22 11:14
[mw_shl_code=fortran,true]do i=1,5
        do j=1,6
                a(i,j)=atan2(((j-1)*100),(L0-(i-1)*100))

明白了,谢谢你
作者: showshow    时间: 2014-3-22 17:13
chuxf 发表于 2014-3-22 15:54
建议不要提供源代码的截图,这样别人无法复制粘贴,无法为你测试。

论坛可直接张贴 Fortran 代码,会自动 ...

知道了,今天刚注册的,对于这些还不懂,以后会注意的




欢迎光临 Fortran Coder (http://bbs.fcode.cn/) Powered by Discuz! X3.2