3
我需要使用每個變量的值進行函數調用(wndspeed,xh,yh,A和B) 有沒有人有關於如何在不使用這些嵌套循環的情況下做到這一點的想法?有沒有辦法可以避免這些嵌套循環?
do i=1,windsteps
wndspeed =windinc*float(i-1)+windstart
write(*,*)i,wndspeed
do j=1,ixsteps
xh=xinc*float(j-1)
xh=xh/height
do k=1,iysteps
yh=10.*float(k-1)*1e3
yh=yinc*float(k-1)
yh=yh/height
do l=1,iasteps
A=(ainc*float(l-1)+50)*1e3
do m=1,ibsteps
B=binc*float(m-1)+1
Pdelt=wndspeed*wndspeed*rho*exp(1.)/B
call trackslopes(elevang,wndspeed,coxmkcor,skewpeak,
1 numslops,slopary,tanumax,xh,yh,A,B,Pdelt,height,numchips,
2 bkgrdwnd,antgain)
skewpeak=0
call trackconvolve(height,tanumax,numslops,slopary,numchips,
1 stppchip,deadband,elevang,convary)
enddo
enddo
enddo
enddo
您需要找到更好的O(n^x)算法。這似乎是O(n^5)現在也許你可以找到獨立的,所以可以減少到n^4,但需要看到裏面的tracklopes。 –
你看過[Elemental](http://fortranwiki.org/fortran/show/elemental)程序嗎? –
@huseyintugrulbuyukisik我會嘗試。 –