程序運(yùn)行不了問題在哪
下面這個程序有錯誤,怎么改呢?
program Ne
integer :: I,J, N, Ny
real:: ne(J)
real:: Hx(I)
N=1000
Ny=1000
Dx=0.1
Dt=0.1
n0=5E+2
m=2.1
p=2
Te=5
q=0.6E-19
E=2
k=0.514E-9
v=n0*k
Hx(0)=sqrt(8*Te/pm)*ne*(1-0.25)
Hx(I)=-(q/m*v)*E(ne/(1-exp(q*E*Dx/Te)+ne/(1-exp(-q*E*Dx/Te))
open (unit=10,FILE='1.txt')
DO I=2,N-1
DO J=2,Ny-1
HX(I)=(H1(I+1)-H1(I-1))/(2*DX)
ne(J)=(ne(J+1)-ne(J-1))/(2*Dt)
ne(J)=Hx(I)+R
end do
end do
write (10,"('N=?,Ny=?')" ne(I)
stop
end
返回小木蟲查看更多
今日熱帖
京公網(wǎng)安備 11010802022153號
你這個是 fortran 的程序嗎?
里面有很多變量根本就沒有定義,比如 H1
ne 是數(shù)組還是普通的變量?
I、J作為 HX 和 NE 的維度的時候沒有賦值……
你這個程序用任何一個編譯器都編譯不過去,根據(jù)編譯器的提示修改吧……
主要是ne的問題,ne是個函數(shù),就是根據(jù)編譯器不知道ne該如何修改,改了很多次。
我感覺就程序編寫來說,似乎有兩個問題:
1. 不能用變量I 直接定義數(shù)組ne的大小。
應(yīng)寫成(按fortran90風(fēng)格)
integer,parameter:: J
real:: ne(J)
2. Hx(0),Hx(I)那兩行,你似乎把ne數(shù)組的下標(biāo)丟了。
這里I是變量,ne是函數(shù)
,
函數(shù)要定義,比如:
real function ne()
該函數(shù)沒有輸入數(shù)據(jù),結(jié)果是返回一個實(shí)型變量。
如果是編譯錯誤,一般有提示。
如果是運(yùn)行結(jié)果錯誤的話,建議用單步執(zhí)行的方式來調(diào)試。
這個有點(diǎn)陌生啊……沒學(xué)過……