Re: [问题] 连续变量名称跟加法的设定

楼主: onezillion (宝贝)   2013-05-15 12:42:56
program test
integer,parameter :: i=11,j=13,ij_avg=9
real*8 :: s1(i,j),s11(i-ij_avg+1,j-ij_avg+1)
do mm=1,i
do nn=1,j
s1(mm,nn)=(mm+nn/2.d0)*sqrt(mm*1.d0)
enddo
enddo
s11=0.d0
k1=ij_avg-1
print*,s1
print*,'
作者: zmack0905 (降太)   2013-05-15 13:10:00
糟糕..发现我没学过SUM 跟 //的用法囧应该是没有化为一维,原本的目的是将环境资料的分辨率降低,由1*1降至3*3或9*9,所以需要9格并为一格,故数会减少
楼主: onezillion (宝贝)   2013-05-15 13:13:00
那你的formula应该是sum(s1(i+(-1:1),j+(-1:1)))还是我会错意了突然发现,最里面的array/matrix直接指定范围就好了所以可以拆掉一层loop
作者: zmack0905 (降太)   2013-05-15 13:38:00
我原本的写法是同列先三行一并,在同行三列一并来写的.
楼主: onezillion (宝贝)   2013-05-15 13:58:00
那可以试试直接给3x3的范围再sum
作者: zmack0905 (降太)   2013-05-15 17:01:00
可以请教一下 / /的用法吗囧?
楼主: onezillion (宝贝)   2013-05-15 17:51:00
google: implied do fortran没什么特别的,就是把一串值包成array,data也有用到还有,77不确定,但是90以后支援向量运算,所以完全不用do也可以加完s1

Links booklink

Contact Us: admin [ a t ] ucptt.com