首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Fortran中的特定迭代之后打印结果

在Fortran中的特定迭代之后打印结果
EN

Stack Overflow用户
提问于 2014-04-26 19:52:55
回答 1查看 1.3K关注 0票数 0

我使用Fortran迭代求解方程组,但不想在每次迭代之后知道结果。我的实际系统要大得多,解决方案需要大约100,000次迭代,但请考虑这个执行100次迭代的简单示例。

代码语言:javascript
复制
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的值。

我尝试在DO循环中添加一个嵌套的IF语句,但是我从编译器那里得到了一个错误。我想知道,当K(迭代步骤)为10的倍数时,是否可以打印X1、X2和X3的值。因此,是否可以将K除以10,然后当结果是整数时,输出X1、X2和X3的值?

我希望这是明确的。谢谢你的帮助。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-04-26 19:58:33

代码语言:javascript
复制
if (mod(k,10)==0) WRITE...

只需在mod函数可被10整除时,使用if条件中的k (余数或模)来执行写。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23315785

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档