查看: 984  |  回复: 11
当前主题已经存档。
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

icecream8508

金虫 (著名写手)

[交流] 【求助】新人请教fortran编程问题![求助完成]

刚接触Fortran不久。因为自己求解的东西需要迭代,而自己对迭代的认识就是附初值,然后更新每次的值,直到收敛。大致思路也该如此,但是在程序实现的时候,总是不对的。
因此,今天就想从最简单的迭代开始算起。想先把最基本的一个迭代的例子走通,但是结果仍然不对。
也问了几个人,但是大家对于程序的编写都有自己习惯的语言,觉得问完之后,更茫然了。
在检查程序的时候,不知道错在哪里了?
不知,大家在审查程序时有什么好方法吗?

[ Last edited by wangmonk on 2009-6-7 at 20:44 ]
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

icecream8508

金虫 (著名写手)

楼上的,多谢回复啊。就这个迭代。整的我头疼。
按照你的意思,就是采用二维数组来存储求解的值。
我原本的意思是也是采用二维数组来存放x值,一个代表着方程的个数,一个是用来表征迭代的次数。不过,因为迭代的次数不知道,觉得这种方法也过于繁琐了。

再者,上面的迭代实际是gauss-seidel迭代。
我写错了。

另外,我也知道迭代,就是每次迭代把上次迭代的值引入计算。
可是在实际的程序编写中,确是实现错误的。
7楼2009-06-04 09:25:01
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 12 个回答

icecream8508

金虫 (著名写手)

我今天做的简单例子的编程附着如下:
!******* 练习迭代算法*******

!******** 所需要求解的方程******
!  x(1)=0.2*x(2)+0.1*x(3)+0.3
!   x(2)=0.2*x(1)+0.1*x(3)+1.5
!   x(3)=0.2*x(1)+0.1*x(2)+2
  
!******* 1.jACOBI 迭代*******
program main

real B(3)
real A(3,3),x(3),s(30)
integer N,k
integer m
real(kind=8) :: eps
real(kind=8) :: xo
integer,parameter:: NM=1000

eps=1.0e-6
!***********系数矩阵*************
B(1)=0.3
B(2)=1.5
B(3)=2

A(1,2)=0.2
A(1,3)=0.1
A(2,1)=0.2
A(2,3)=0.1
A(3,1)=0.2
A(3,2)=0.1

!***************迭代公式************
! do k=1,NM,1
!Do i=1,3
!   x(i)=0.0
!end do

20 Do k=1,NM,1

Do i=1,3
  s(i)=0.0  
  Xo=x(i)
  x(i)=0.0
   Do j=1,3
      If(i.NE.j) then
!       S(i)=S(i)+A(i,j)*Xo
       S(i)=S(i)+A(i,j)*X(j)
      End if
   End do
x(i)=B(i)-s(i)

If(abs(xo-x(i)).gt.eps) then
Go to 20
else
  exit
end if

end do
end do

!write(*,*) (x(i),i=1,3)
do j=1,3
  write(*,*) x(j)
end do

end program main
2楼2009-06-03 11:50:00
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

maomao1210

金虫 (正式写手)

★
小木虫(金币+0.5):给个红包,谢谢回帖交流
你是想知道问题出现在哪里,还是想知道怎么找错误,
这个不是在地图上找某个城市那么公式化和简单化,有一般的调试流程,但有很大的经验成份,还有对该程序的熟悉程度以及算法,程序理论依据的熟悉程度。不是你想象的那么简单。
3楼2009-06-03 21:38:35
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

maomao1210

金虫 (正式写手)

具体的错误以及问题,可以帮你解决,某些问题,不可言传。
4楼2009-06-03 21:39:31
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
普通表情 龙 兔 虎 猫 高级回复 (可上传附件)
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[基金申请] 申请科研项目纯靠实力能成功吗? 200+7 David1982 2026-10-13 11/550 2026-10-15 10:30 by zyqchem
[职场人生] 40+中年人失业后,还能找到好工作吗? +5 xqy2009 2026-10-13 5/250 2026-10-15 09:49 by 淘淘塑物性通
[硕博家园] 极限拉扯,如何抉择 +11 Isak0320 2026-10-12 15/750 2026-10-14 21:55 by 猫鱼不是鱼
[论文投稿] 二审4个多月了还是Awaiting Reviewer Scores 10+3 纳斯达克ML 2026-10-11 4/200 2026-10-14 17:30 by babero
[有机交流] OpenAI又攻克数学难题了,离AI做有机合成还有多远? +8 wangyl_123 2026-10-10 13/650 2026-10-14 15:12 by zuesli
[教师之家] 课题组会帮你通过考核么? +4 好运来~9527 2026-10-10 7/350 2026-10-13 08:41 by xli1984
[公派出国] 售一区SCI文章T0P,我:8O.551.O54,科目全,可十急 +5 qR2AdCWTVtkw 2026-10-09 9/450 2026-10-11 22:34 by XQNyDCa1Tk5n
[公派出国] 售SCI一区文章,我:8O5.5.1.O5.4,科目全,可伽急 +5 qR2AdCWTVtkw 2026-10-09 10/500 2026-10-11 22:26 by XQNyDCa1Tk5n
[找工作] 售SCI一区T0P文章,我:8.O55.1.O.54,科目全,可十急 +5 qR2AdCWTVtkw 2026-10-09 8/400 2026-10-11 22:26 by XQNyDCa1Tk5n
[考博] 售SCI一区T0P文章,我:8.O55.1.O.54,科目全,可十急 +5 qR2AdCWTVtkw 2026-10-09 9/450 2026-10-11 22:15 by XQNyDCa1Tk5n
[考博] 售SCI一区文章,我:8.O.55.1.O.54,科目齐全,可伽急 +3 qR2AdCWTVtkw 2026-10-09 7/350 2026-10-11 22:11 by XQNyDCa1Tk5n
[教师之家] 售SCI文章,我:8O5.5.1.O.54,科目齐全,可+急 (EPI+-1)(金币-50) +5 qR2AdCWTVtkw 2026-10-09 10/500 2026-10-11 22:06 by XQNyDCa1Tk5n
[教师之家] 售SCI一区T0P文章,我:8.O.55.1.O.5.4,科目全,可+急 (EPI+-1)(金币-50) +5 qR2AdCWTVtkw 2026-10-09 10/500 2026-10-11 14:25 by VOMexwnDzOFZ
[教师之家] 售SCI文章,我:8O.5.5.1O.54,科目全,可十急 (EPI+-1)(金币-50) +4 qR2AdCWTVtkw 2026-10-09 7/350 2026-10-11 14:05 by VOMexwnDzOFZ
[考研] 售SCI文章,我:8O.5.5.1O.54,科目全,可十急 +5 qR2AdCWTVtkw 2026-10-09 8/400 2026-10-11 13:51 by VOMexwnDzOFZ
[硕博家园] 售SCI-T0P文章,我:8O.5.5.1.O.54,科目齐全,可+急 +5 qR2AdCWTVtkw 2026-10-09 8/400 2026-10-11 13:45 by VOMexwnDzOFZ
[考博] 招收博士生一名 +3 mandolin 2026-10-10 3/150 2026-10-11 10:21 by 不是山谷!
[公派出国] 售SCI一区T0P文章,我:8O.55.1.O.54,科目全,可伽急 +4 qR2AdCWTVtkw 2026-10-09 4/200 2026-10-11 03:14 by M0zrYVSAnxpE
[有机交流] 各位大佬,路线设计求助 +6 zapen 2026-10-08 8/400 2026-10-10 15:59 by zapen
[有机交流] 我应该选哪条合成路线让实验成功率高一些? +5 jing816y 2026-10-08 9/450 2026-10-10 09:05 by zapen
信息提示
请填处理意见