24小时热门版块排行榜    

查看: 3384  |  回复: 9
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

夜月丨噩梦

金虫 (初入文坛)

[求助] 为什么Fortran调试无错误运行不出结果 已有2人参与

program main
   parameter  n=600
   double precision u(0:n),u1(0:n),x0,x1,x,t0,t1,h,dett,lambda,y(0:n)
   integer i,j
   x0=0.0d0
   x1=6.0d0                           
   t0=0.0d0
   lambda=0.3d0
   t1=0.5d0
   h=0.01d0
   dett=0.003d0
    x=x0
   !do i=0,n,1
         !if(i<=250)then
     !y(i)=1.0
         !else
        ! y(i)=0
         !end if
        ! end do
        do i=0,n,1
                 if(x>=1 .and. x<=3) then
                 u(i)=1.0d0
                 else
                 u(i)=0.0d0
                 end if
                 x=x+h
         end do
         open(1,file="yingfeng.dat"
         t=t0+dett
         x=x0
         do while(t<=t1)
             x=x0+h
                         do j=1,n,1
                                 u1(j)=u(j)-3*lambda*(u(j)-u(j-1))
                                 
                                   if(abs(t-0.5)<=0.0001)then
                                   write(1,*)x,u1(j),y(j)
                                   end if
                                 x=x+h
                     end do
          do j=1,n-1
                 u(j)=u1(j)
                 u(0)=1
                 u(1)=0
                 end do

             t=t+dett
         end do
stop
end
求大神指导,为啥这个程序运行后yingfeng.dat文件里面啥数据都没有
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

bennett_14

木虫 (正式写手)

【答案】应助回帖

经过测试,可以生成yingfeng.dat文件的,文件和程序在相同的目录下,估计你没有运行,或运行了但是找错了文件夹

发自小木虫Android客户端
君子当自强不息,死而后已!
3楼2016-01-02 16:35:26
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 10 个回答

bennett_14

木虫 (正式写手)

x0=0.0d0中的d0是啥????

发自小木虫Android客户端
君子当自强不息,死而后已!
2楼2016-01-02 16:09:59
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

夜月丨噩梦

金虫 (初入文坛)

引用回帖:
3楼: Originally posted by bennett_14 at 2016-01-02 16:35:26
经过测试,可以生成yingfeng.dat文件的,文件和程序在相同的目录下,估计你没有运行,或运行了但是找错了文件夹

是可以运行,但是运行结果是0KB,里面啥都没有

发自小木虫Android客户端
4楼2016-01-02 17:51:51
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

fmying

银虫 (小有名气)

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★
夜月丨噩梦: 金币+30, ★★★很有帮助 2016-01-05 11:42:26
你的程序中最重要的部分如下:
double precision ...t0,t1,...,dett...
t0=0.0d0
t1=0.5d0
dett=0.003d0
...
t=t0+dett
do while(t<=t1)
...
if(abs(t-0.5)<=0.0001) then
write(1,*)x,u1(j),y(j)
endif
...

可以看到,这个程序能否向yingfeng.dat中写入数据的关键是:t的数值相距0.5的差值是否小到0.0001以内,和其它问题完全无关。

如果分析我给出的这些语句的话,就会发现问题所在:
t从0.003开始累加,要和0.5比???能达到相差小于0.0001的程度么?
相当于500/3,得到的余数是多少?
条件达不到,当然不会输出。程序在逻辑上是没错的。
希望楼主能再审视一下相应的条件,让程序输出你要的结果。

另外,希望楼主能注意以下几个方面:
1 t1和t0都是双精度,但是t却没有定义啊!!!按照默认的I-N规则,t是单精度型,可能会引起误差,从而引起不必要的麻烦哦。
2 open之后没有对应的close语句,这点很不好!!很不好!!很不好!!楼主目前写的是小程序不觉得,程序一大,很容易搞混的,到时候想写这个文件却写到那个文件去了,或者想写却发现文件没打开之类的。而且这种错误会很难调试。
3 stop语句一般只用在这样两个方面:调试程序 或 出错后的强行停止。不建议用stop来结束程序,让程序自己运行完毕后停止岂不更好?
4 前面有program xxx的话,最后建议用end program xxx结束。这样构造一个封闭的block,今后也会很容易读代码,便于维护管理。
5 楼主的程序使用了默认的I-N规则,建议使用Implicit None,取消默认规则,使每个变量都要定义类型(和C一样强类型)。使用默认规则的话,一旦有什么问题都是非常隐蔽极难调试的。

最后,楼主如果有程序方面的问题,欢迎移步“程序语言”版块提问。

» 本帖已获得的红花(最新10朵)

上善若水
5楼2016-01-02 19:32:34
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 277分求调剂,跨调材料 +3 考研调剂lxh 2026-03-24 3/150 2026-03-24 13:52 by JourneyLucky
[考研] 材料与化工考研调剂 +6 孅華 2026-03-22 6/300 2026-03-24 13:31 by 连洋洋洋
[考研] 材料与化工328分调剂 +4 。,。,。,。i 2026-03-23 4/200 2026-03-24 11:03 by 544594351
[考研] 一志愿吉大化学322求调剂 +4 17501029541 2026-03-23 6/300 2026-03-24 10:21 by 戴围脖的小蚊子
[考研] 一志愿河北工业大学0817化工278分求调剂 +7 jhybd 2026-03-23 12/600 2026-03-24 09:03 by jhybd
[考研] 一志愿武理材料工程348求调剂 +6  ̄^ ̄゜汗 2026-03-19 9/450 2026-03-23 19:53 by pswait
[考研] 303求调剂 +4 元夕元 2026-03-20 4/200 2026-03-23 19:00 by macy2011
[考研] 考研化学308分求调剂 +7 你好明天你好 2026-03-23 8/400 2026-03-23 18:39 by macy2011
[考研] 328求调剂,英语六级551,有科研经历 +7 生物工程调剂 2026-03-17 12/600 2026-03-23 18:18 by YMU施老师
[考研] 263求调剂 +6 yqdszhdap- 2026-03-22 9/450 2026-03-23 12:57 by yqdszhdap-
[考研] 求老师收我 +3 zzh16938784 2026-03-23 3/150 2026-03-23 12:56 by ztnimte
[考研] 材料与化工085600,总分304,本科有两篇sci参与,求调剂 +4 幸运的酱酱 2026-03-22 5/250 2026-03-22 20:15 by edmund7
[考研] 287求调剂 +8 晨昏线与星海 2026-03-19 9/450 2026-03-22 17:01 by i_cooler
[考研] 一志愿中南化学(0703)总分337求调剂 +9 niko- 2026-03-19 10/500 2026-03-22 16:08 by ColorlessPI
[考研] 318求调剂 +4 plum李子 2026-03-21 7/350 2026-03-22 14:17 by ColorlessPI
[考研] 0703化学调剂 +4 妮妮ninicgb 2026-03-21 4/200 2026-03-21 18:39 by 学员8dgXkO
[考研] 279求调剂 +5 红衣隐官 2026-03-21 5/250 2026-03-21 14:59 by lature00
[考研] 南京大学化学376求调剂 +3 hisfailed 2026-03-19 6/300 2026-03-20 23:43 by hisfailed
[考研] 261求B区调剂,科研经历丰富 +3 牛奶很忙 2026-03-20 4/200 2026-03-20 19:34 by JourneyLucky
[考研] 085410人工智能专硕317求调剂(0854都可以) +4 xbxudjdn 2026-03-18 4/200 2026-03-20 09:07 by 不168
信息提示
请填处理意见