Fortran Coder

查看: 9093|回复: 4
打印 上一主题 下一主题

[流程控制] 请各位高手帮帮忙,循环中的数组问题

[复制链接]

3

帖子

1

主题

0

精华

新人

F 币
26 元
贡献
13 点
跳转到指定楼层
楼主
发表于 2014-3-22 11:02:44 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
大家好!本人初学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


分享到:  微信微信
收藏收藏 点赞点赞 点踩点踩

135

帖子

15

主题

0

精华

版主

F 币
1159 元
贡献
637 点

爱心勋章管理勋章

沙发
发表于 2014-3-22 11:14:49 | 只看该作者
[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

736

帖子

4

主题

0

精华

大师

农村外出务工人员

F 币
700 元
贡献
359 点

新人勋章爱心勋章水王勋章元老勋章热心勋章

板凳
发表于 2014-3-22 15:54:11 | 只看该作者
建议不要提供源代码的截图,这样别人无法复制粘贴,无法为你测试。

论坛可直接张贴 Fortran 代码,会自动进行高亮显示。

3

帖子

1

主题

0

精华

新人

F 币
26 元
贡献
13 点
地板
 楼主| 发表于 2014-3-22 17:12:38 | 只看该作者
珊瑚虫 发表于 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))

明白了,谢谢你

3

帖子

1

主题

0

精华

新人

F 币
26 元
贡献
13 点
5#
 楼主| 发表于 2014-3-22 17:13:59 | 只看该作者
chuxf 发表于 2014-3-22 15:54
建议不要提供源代码的截图,这样别人无法复制粘贴,无法为你测试。

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

知道了,今天刚注册的,对于这些还不懂,以后会注意的
您需要登录后才可以回帖 登录 | 极速注册

本版积分规则

捐赠本站|Archiver|关于我们 About Us|小黑屋|Fcode ( 京ICP备18005632-2号 )

GMT+8, 2024-12-23 21:31

Powered by Tencent X3.4

© 2013-2024 Tencent

快速回复 返回顶部 返回列表