我是一个FORTRAN新手,现有一个迭代公式,想拿一次迭代结-查字典问答网
分类选择

来自曲国福的问题

  我是一个FORTRAN新手,现有一个迭代公式,想拿一次迭代结果与其前一次迭代结果进行对比如果对比结果达到要求,则迭代结束,否则继续迭代,式例(a-b)/a

  我是一个FORTRAN新手,现有一个迭代公式,想拿一次迭代结果与其前一次迭代结果进行对比

  如果对比结果达到要求,则迭代结束,否则继续迭代,式例(a-b)/a

6回答
2020-04-07 18:53
我要回答
请先登录
李荣彬

  举个最简单的例子,Jacobi迭代解x+y=2,2x+3y=5

  programJacobi

  integer::N,NMAX=10000

  real::X,Y,X0,Y0,ERROR=0.0001

  X0=0.0

  Y0=0.0

  doN=1,NMAX

  X=2-Y0

  Y=(5.0-2*X0)/3.0

  if(abs((X-X0)/X0)

2020-04-07 18:58:28
曲国福

  能多给几个例子吗简单点的谢谢

2020-04-07 18:59:02
李荣彬

  你到底要做什么问题?这已经是最简单的例子了,针对你的问题现写的。

2020-04-07 19:00:35
曲国福

  呵呵谢谢高手回答我形容一下我的想法比如一个公式A=B+C(与具体公式无关)迭代求A(我多要求的是个速度场,所以A代表的是一系列点上的速度,二维的)经过N次迭代达到相应精度迭代结束怎么样用个程序结构实现每一次迭代结束时,此次迭代的结果与前一次的迭代的结果进行对比,达到一定精度,迭代结束。忘高手指点再次感谢

2020-04-07 19:03:58
李荣彬

  还是不太明白你想做什么。你要编CFD的程序么?求解流场?如果是那就不是一两句话描述的清楚的了。如果你只是做个迭代那么我之前给你写的小程序就很清楚的说明问题了。而且你自己都已经把程序流程描述清楚了,计算一次——判断是否达到收敛精度——如果是,结束输出结果,如果否,把上一次迭代的值赋给瓶子,开始新一轮迭代

2020-04-07 19:05:34
曲国福

  对的意思是这么个意思程序流程差不多是这样但是两次连续迭代结果比较的话比如第N次迭代结果A=0.9与N-1次结果A=0.95比较问题来了虽然A的计算值不一样但在程序表达上(即书面上A是一样的啊)这就需要把最后一次迭代值赋给另一个符号,如D=A,再把D与与N-1次比较,这个功能怎么实现,具体是在那个过程中把A值赋给D了谢谢

2020-04-07 19:08:21

最新问答

推荐文章

猜你喜欢

附近的人在看

推荐阅读

拓展阅读

  • 大家都在看
  • 小编推荐
  • 猜你喜欢
  •