作者liaoamy123 (woody )
看板Fortran
标题[问题] 迭代请益
时间Tue Jan 29 15:08:27 2019
小妹是自学fortran新手,
目前主回圈的迭代次数,run不出来
program test
implicit real (a-g,l-x)
integer I,j,k,z,y
Parameter k_max=500
i=0
Do while i<k_max (当迭代次数小於最高迭代则继续run)
a=2-i*(2/k_max)
b=-1+i *(-1/k_max)
i=i+1
write (*,*) a,b
end do
End
Error:syntax error,found identifier “i “ when expecting one of :do while i<k
_max
Error:an end so statement occurred without a corresponding do, do while ,or do
times statement
有尝试google过,但还是不太了解!
麻烦板上神人可以帮帮忙了!谢谢
重要:我需要将a从2趋近到0 (线性)
将b线性递减-1到-2
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 114.137.116.206
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Fortran/M.1548745709.A.8BC.html
1F:→ rex0707: 直接"DO i = 0 , k_max-1" 如何?01/29 16:21
2F:→ liaoamy123: 你好,试过可以执行,但我需要a从2趋近到0,但执行答01/29 17:04
3F:→ liaoamy123: 案出来一直在2!01/29 17:04
※ 编辑: liaoamy123 (114.137.116.206), 01/29/2019 17:06:13
※ 编辑: liaoamy123 (114.137.116.206), 01/29/2019 17:08:08
4F:推 espresso1: 改成Do while (i<k_max) 01/29 17:10
5F:→ espresso1: 另外整数除以整数的结果,小数部分会舍去 01/29 17:13
6F:→ espresso1: 因此2/k_max=0,-1/k_max=0 01/29 17:15
7F:→ espresso1: 改成2.0/k_max及-1.0/k_max就可以了 01/29 17:17
8F:→ liaoamy123: 谢谢你,跑出来了! 01/29 17:30
11F:推 sin55688: 应该是呼叫副程式\函数 用法错误吧 01/29 18:30
12F:推 espresso1: 可能要检查看副程式名称,或主副程式间对应的引数型态 01/29 20:16
13F:→ espresso1: 有无符合 01/29 20:16
14F:→ liaoamy123: 好的,我再试试看哪边出错!谢谢 01/30 17:41