回 帖 发 新 帖 刷新版面

主题:请教:我的数组有50行数据,为什么最后输出时却只有13行了?

我定义了从1到197的循环,步长为4,这样应该有50行数据才对,可是结果只有13行数据,好诡异的,大家能指点一下吗?
implicit none
integer I,N,j
parameter(N=50)
dimension c(N),t(4),d(4),s11(N),s12(N),s21(N),s22(N),s31(N),s32(N),s41(N),s42(N)
real w,a,wg,s,s0,l,c,h,k,vapp,t,d,s11,s12,s21,s22,s31,s32,s41,s42
open(100,file='duodiangonglvpu.dat')
wg=15
l=0.6
s0=0.0015
vapp=200.
do j=1,4
d(j)=(j-1.)*100.
t(j)=d(j)/vapp
end do
do I=1,197,4
w=I
a=w/wg
s=0
h=1.+4*l*l*a*a
k=(1.-a*a)*(1.-a*a)+4*l*l*a*a
s=s0*h/k
c(I)=s
s11(I)=c(I)*cos(w*t(1))
s12(I)=-c(I)*sin(w*t(1))
s21(I)=c(I)*cos(w*t(2))
s22(I)=-c(I)*sin(w*t(2))
s31(I)=c(I)*cos(w*t(3))
s32(I)=-c(I)*sin(w*t(3))
s41(I)=c(I)*cos(w*t(4))
s42(I)=-c(I)*sin(w*t(4))
write(100,10)I,c(I),s11(I),s12(I),s21(I),s22(I),s31(I),s32(I),s41(I),s42(I)
end do
10 format(I5,1X,F10.8,1X,F10.8,1X,F10.8,1X,F10.8,1X,F10.8,1X,F10.8,1X,F10.8,1X,F10.8,1X,F10.8,1X)
pause
stop
end


以下是输出的13行数据

    1 0.00151334 0.00151334 0.00000000 0.00132808 -.00072553 0.00081766 -.00127343 0.00010705 -.00150955
    5 0.00183134 0.00183134 0.00000000 -.00146717 -.00109601 0.00051948 0.00175612 0.00063481 -.00171780
    9 0.00245431 0.00245431 0.00000000 -.00051736 0.00239916 -.00223620 -.00101147 0.00146012 -.00197274
   13 0.00273046 0.00273046 0.00000000 0.00266653 -.00058738 0.00247774 -.00114725 0.00217294 -.00165340
   17 0.00221413 0.00221413 0.00000000 -.00133293 -.00176796 -.00060925 0.00212866 0.00206648 -.00079500
   21 0.00153141 0.00153141 0.00000000 -.00072824 0.00134718 -.00083880 -.00128126 0.00152600 -.00012860
   25 0.00104741 0.00104741 0.00000000 0.00104511 0.00006947 0.00103820 0.00013863 0.00102672 0.00020718
   29 0.00074342 0.00074342 0.00000000 -.00026386 -.00069502 -.00055612 0.00049336 0.00065862 0.00034481
   33 0.00055051 0.00055051 0.00000000 -.00038668 0.00039184 -.00000731 -.00055046 0.00039694 0.00038144
   37 0.00042303 0.00042303 0.00000000 0.00039745 0.00014488 0.00032379 0.00027224 0.00021098 0.00036667
   41 0.00033510 0.00033510 0.00000000 -.00002666 -.00033404 -.00033086 0.00005315 0.00007931 0.00032558
   45 0.00027209 0.00027209 0.00000000 -.00023762 0.00013256 0.00014293 -.00023152 -.00001203 0.00027182
   49 0.00022544 0.00022544 0.00000000 0.00018180 0.00013332 0.00006777 0.00021501 -.00007250 0.00021346

回复列表 (共2个回复)

沙发

我知道错了,把下面语句改一下就可以了
do I=1,50
w=1+(I-1)*4

板凳

parameter(N=50)
改为:
parameter(N=197)

do I=1,197,4
改为:
do I=1,N,4

我来回复

您尚未登录,请登录后再回复。点此登录或注册