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