【发布时间】:2014-04-26 19:52:55
【问题描述】:
我正在使用 Fortran 迭代求解方程组,但不想知道每次迭代后的结果。我的实际系统要大得多,解决方案需要大约 100,000 次迭代,但请考虑这个执行 100 次迭代的简单示例。
PROGRAM ITER
DATA X1,X2,X3/.0,.0,.0/
DO 20 K = 1,100
X1 = 10+3*X2 - X3
X2 = (4 - 2*X1 - X3)/5.
X3 = (-13 + X1 - X2)/(-2.)
WRITE (*,10)K,X1,X2,X3
10 FORMAT (' ',I3,3(F8.1))
20 CONTINUE
END PROGRAM ITER
事实上,程序在每次迭代后报告结果,但是,我希望在每 10 次迭代后报告 X1、X2 和 X3 的值。
我尝试将嵌套的 IF 语句添加到 DO 循环中,但编译器出现错误。我想知道当 K(迭代步骤)是 10 的倍数时是否可以打印 X1、X2 和 X3 的值。因此是否可以将 K 除以 10,然后只要结果是整数,值X1,X2 和 X3 输出?
我希望这很清楚。谢谢你的帮助。
【问题讨论】:
标签: fortran