FORTRAN程序改写为VB程序!!!

本人寻求一程序高手,将FORTRAN程序改写为VB。着急!!!~~~CSOLUTIONOFLAPLACEEQNCENTABLDIFFERENCECDIMENSIONPSI... 本人寻求一程序高手,将FORTRAN程序改写为VB。着急!!!~~~
C SOLUTION OF LAPLACE EQN CENTABL DIFFERENCE

C DIMENSION PSI(8,5)
ESP=0.00001
DO 10 J=1,5
DO 10 I=1,8
10 PSI(I,J)=0.0
DO 20 J=2,4
20 PSI(1,J)=(J-1)*0.5
DO 30 I=2,8
30 PSI(I,5)=2.0
W=1.35
K=0
SDIJ0=0.0
40 K=K+1
SDIJ1=0.0
PSI(2,6)=PSI(5,2)*0.125/0.625
PSI(7,3)=PSI(7,4)*0.125/0.625
PSI(8,4)=(2*PSI(7,4)+2.0)/4.0
DO 50 J=2,4
DO 50 I=2,J+3
DIJ=W*(PSI(I+1,J)+PSI(I-1,J)+PSI(I,J+1)+PSI(I,J-1))/4.0-PSI(I,J)
SDIJ1=SDIJ1+ABS(DIJ)
50 PSI(I,J)=PSI(I,J)+DIJ
IF (ABS(SDIJ1-SDIJ0).GT.EPS) THEN
SDIJ0=SDIJ1
GO TO 40
ELSE
END IF
WRITE(*,4)
444 FORMAT(/6X,'RESULTS OF COMPUTATION'/)
WRITE(*,1)
1 FORMAT(6X,'PSI=(M2/S)')
WRITE(*,2)(PSI(I,4),I=2,8)
WRITE(*,2)(PSI(I,3),I=2,7)
WRITE(*,2)(PSI(I,2),I=2,6)
2 FORMAT(4X,7F7.3)
STOP
END
DO 50 J=2,4
DO 50 I=2,J+3
DIJ=W*(PSI(I+1,J)+PSI(I-1,J)+PSI(I,J+1)+PSI(I,J-1))/4.0-PSI(I,J)
SDIJ1=SDIJ1+ABS(DIJ)
50 PSI(I,J)=PSI(I,J)+DIJ
IF (ABS(SDIJ1-SDIJ0).GT.EPS) THEN
SDIJ0=SDIJ1
GO TO 40
ELSE
END IF
将这段改写成VB也行啊。。。
展开
 我来答
bater2000
2010-04-08 · TA获得超过1486个赞
知道小有建树答主
回答量:803
采纳率:0%
帮助的人:1094万
展开全部
看你那么惨,就给你翻一个吧

Dim PSI(9, 9) As Double'下面有个地方用数组时超过了5,所以我索性改为9了
ESP = 0.00001

For J = 1 To 5
For i = 1 To 8
PSI(i, J) = 0
Next i
Next J

For J = 2 To 4
PSI(1, J) = (J - 1) * 0.5
Next J

For i = 2 To 8
PSI(i, 5) = 2
Next i

W = 1.35
K = 0
SDIJ0 = 0
40
K = K + 1
SDIJ1 = 0
PSI(2, 6) = PSI(5, 2) * 0.125 / 0.625
PSI(7, 3) = PSI(7, 4) * 0.125 / 0.625
PSI(8, 4) = (2 * PSI(7, 4) + 2) / 4

For J = 2 To 4
For i = 2 To J + 3
'不过在VB6里下面这句会超过VB6运算数值的上限导致溢出。建议你用VB.Net计算
DIJ = W * (PSI(i + 1, J) + PSI(i - 1, J) + PSI(i, J + 1) + PSI(i, J - 1)) / 4 - PSI(i, J)
SDIJ1 = SDIJ1 + Abs(DIJ)
PSI(i, J) = PSI(i, J) + DIJ
Next i
Next J

If (Abs(SDIJ1 - SDIJ0) > EPS) Then
SDIJ0 = SDIJ1
GoTo 40
Else
End If

Debug.Print "SDIJ0", SDIJ0
Debug.Print "SDIJ1", SDIJ1

Debug.Print ("Done")

End
百度网友740e59274
2010-04-08 · TA获得超过783个赞
知道小有建树答主
回答量:549
采纳率:0%
帮助的人:0
展开全部
'将问题补充这段改写成VB
FOR J=2 TO 4
FOR I=2 TO J+3
DIJ=W*(PSI(I+1,J)+PSI(I-1,J)+PSI(I,J+1)+PSI(I,J-1))/4.0-PSI(I,J)
SDIJ1=SDIJ1+ABS(DIJ)
PSI(I,J)=PSI(I,J)+DIJ
NEXT I,J
IF ABS(SDIJ1-SDIJ0)>EPS THEN
SDIJ0=SDIJ1
GO TO 40
END IF
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
世界精选知识交流
2010-04-07 · TA获得超过396个赞
知道小有建树答主
回答量:481
采纳率:0%
帮助的人:194万
展开全部
你不如直接从网上找一个 VB 的 LAPLACE 算法。
我估计没几个人愿意花许多功夫给你翻译(包括我)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式