24小时热门版块排行榜    

查看: 1893  |  回复: 12

霹雳旋风

荣誉版主 (著名写手)

[求助] 求高人帮忙看一下我这个Fortran程序的错误出在哪里?

程序代码如下:


    program ganeiliwucha
                implicit none
        External FS
        Integer I,L,N
        Dimension X(2),Y(2),C(2)
        Double Precision X, Y, EPS,C
        open (2000, file='test.dat', status='old' )
        Data X/0.00,0.01/
           EPS=1.0E-06
        CALL DSNSE(2,EPS, X, Y, FS, L)
        IF(L.GT.0)then
       C(1)=cos(X(2))/sin(X(1)+X(2))*tan(20.0/180*3.14)-1.0   ! AC杆的内力误差
    C(2)=cos(X(1))/sin(X(1)+X(2))*sin(20.0/180*3.14)-1.0   ! BC杆的内力误差
        do I=1,2
    write(2000,*) X(I)
        end do
    end IF
        close(2000)
        end

        SUBROUTINE DSNSE(N,EPS,X,Y,FS,L)
        DIMENSION X(N),Y(N)
        DOUBLE PRECISION X,Y,F,D,S
        L=500
5        CALL FS(X,N,F,Y)
        IF (F.GE.EPS) THEN
          L=L-1
          IF (L.EQ.0) RETURN
          D=0.0
          DO 20 J=1,N
20          D=D+Y(J)*Y(J)
          IF (D+1.0.EQ.1.0) THEN
            L=-1
            RETURN
          END IF
          S=F/D
          DO 30 I=1,N
30          X(I)=X(I)-S*Y(I)
          GOTO 5
        END IF
        RETURN
        END

    SUBROUTINE FS(X, N, F, Y)
        DIMENSION X(N), Y(N)
        Double precision X,Y,F,F1,F2,DF1,DF2,A,B
          A=20.0/180*3.14                           
          K=0.5
          F1=X(1)+X(2)-cos(A)
          F2=sin(X(1))*cos(A)*(1+K*cotan(A))+SIN(X(2))*(1.0-K/sin(A))-cos(A)
          F=F1*F1+F2*F2
          DF1=1.0
          DF2=cos(X(1))*cos(A)*(1+K*cotan(A))
          Y(1)=2.0*(F1*DF1+F2*DF2)
          DF1=1.0
          DF2=COS(X(2))*(1.0-K/sin(A))
          Y(2)=2.0*(F1*DF1+F2*DF2)
    RETURN
        END

  程序编译通过,但是出现计算数据无法输出的问题,请高手帮忙看一下。不胜感激。
回复此楼

» 猜你喜欢

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

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
回帖置顶 ( 共有2个 )

霹雳旋风

荣誉版主 (著名写手)

引用回帖:
: Originally posted by ygl820 at 2012-02-21 10:31:22:
运行后,test.dat生成了没有。

运行后,生成了test.dat
8楼2012-02-22 13:05:55
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

霹雳旋风

荣誉版主 (著名写手)

引用回帖:
: Originally posted by snoopyzhao at 2012-02-23 13:54:41:
这个程序用 gfortran 没有办法编译,显示 cotan 未定义……

你这个 test.dat 是空的很正常啊,说明 L .LE. 0 啊,呵呵……

谢谢楼上,
程序中的cotan() 的含义是求角度的余切值呀。请高人指点哦。
10楼2012-02-23 19:37:37
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
普通回帖

夕阳西下

金虫 (著名写手)

【答案】应助回帖

感谢参与,应助指数 +1
jjdg(金币+1): 感谢应助 2012-02-20 01:39:45
open (2000, file='test.dat', status='old' )
write(2000,*) X(I)
write 2000这样写是不是有问题呢?
2楼2012-02-19 09:17:19
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

haizhfly

木虫 (正式写手)

【答案】应助回帖

感谢参与,应助指数 +1
jjdg(金币+1): 感谢应助 2012-02-20 01:39:55
open (2000, file='test.dat', status='old' )
write(2000,*) X(I)

status='old'  要求输出文本 test.dat是已经存在的文件,删去这一文件状态控制语句试一下看,个人觉得最大问题在这里
3楼2012-02-19 11:21:31
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

霹雳旋风

荣誉版主 (著名写手)

引用回帖:
: Originally posted by haizhfly at 2012-02-19 11:21:31:
open (2000, file='test.dat', status='old' )
write(2000,*) X(I)

status='old'  要求输出文本 test.dat是已经存在的文件,删去这一文件状态控制语句试一下看,个人觉得最大问题在这里

这个我已经调试过。文件能编译完,也能运行,就是没有输出结果。
4楼2012-02-19 19:48:38
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

ygl820

至尊木虫 (知名作家)

【答案】应助回帖

感谢参与,应助指数 +1
霹雳旋风(金币+10): 谢谢 2012-02-21 10:29:01
按你的意思,将文件test.dat作为输出了,运行完成后后,打开它。fortran文件操作性不强,看看test.dat是否只读。
5楼2012-02-21 10:24:17
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

霹雳旋风

荣誉版主 (著名写手)

引用回帖:
: Originally posted by ygl820 at 2012-02-21 10:24:17:
按你的意思,将文件test.dat作为输出了,运行完成后后,打开它。fortran文件操作性不强,看看test.dat是否只读。

也不是只读。运行可以就是没有输出数据。急死我了。
6楼2012-02-21 10:28:44
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

ygl820

至尊木虫 (知名作家)

运行后,test.dat生成了没有。
7楼2012-02-21 10:31:22
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

snoopyzhao

至尊木虫 (职业作家)

余泽成(金币+1): 谢谢参与应助! 2012-02-25 04:29:52
这个程序用 gfortran 没有办法编译,显示 cotan 未定义……

你这个 test.dat 是空的很正常啊,说明 L .LE. 0 啊,呵呵……
9楼2012-02-23 13:54:41
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 霹雳旋风 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 288求调剂,一志愿华南理工大学071005 +5 ioodiiij 2026-03-17 5/250 2026-03-19 18:22 by zcl123
[考博] 东华理工大学化材专业26届硕士博士申请 +8 zlingli 2026-03-13 8/400 2026-03-19 16:32 by 轻松不少随
[考研] 317求调剂 +3 申子申申 2026-03-19 6/300 2026-03-19 14:16 by 申子申申
[考研] 求调剂 +3 Mqqqqqq 2026-03-19 3/150 2026-03-19 14:11 by peike
[考研] 本科郑州大学物理学院,一志愿华科070200学硕,346求调剂 +4 我不是一根葱 2026-03-18 4/200 2026-03-19 09:11 by 浮云166
[考研] 0703化学调剂 +8 妮妮ninicgb 2026-03-15 12/600 2026-03-19 05:55 by anny19840123
[考研] 085600材料与化工 +5 安全上岸! 2026-03-16 5/250 2026-03-18 15:33 by cmz0325
[考研] 331求调剂(0703有机化学 +7 ZY-05 2026-03-13 8/400 2026-03-18 14:13 by 007_lilei
[考研] 304求调剂 +12 小熊joy 2026-03-14 13/650 2026-03-18 12:34 by Linda Hu
[考研] 299求调剂 +5 △小透明* 2026-03-17 5/250 2026-03-18 11:49 by 尽舜尧1
[考研] 考研求调剂 +3 橘颂. 2026-03-17 4/200 2026-03-17 21:43 by 有只狸奴
[考研] 326求调剂 +5 上岸的小葡 2026-03-15 6/300 2026-03-17 17:26 by ruiyingmiao
[考研] 085601求调剂 +4 Du.11 2026-03-16 4/200 2026-03-17 17:08 by ruiyingmiao
[考研] 11408 一志愿西电,277分求调剂 +3 zhouzhen654 2026-03-16 3/150 2026-03-17 07:03 by laoshidan
[基金申请] 今年的国基金是打分制吗? 50+3 zhanghaozhu 2026-03-14 3/150 2026-03-16 17:07 by 北京莱茵润色
[考研] 304求调剂 +3 曼殊2266 2026-03-14 3/150 2026-03-16 16:39 by houyaoxu
[考研] 085600材料与化工 求调剂 +13 enenenhui 2026-03-13 14/700 2026-03-16 15:19 by 了了了了。。
[考研] 277材料科学与工程080500求调剂 +3 自由煎饼果子 2026-03-16 3/150 2026-03-16 14:10 by 运气yunqi
[考研] 22408总分284求调剂 +3 InAspic 2026-03-13 3/150 2026-03-15 11:10 by zhq0425
[考研] 328求调剂 +3 5201314Lsy! 2026-03-13 6/300 2026-03-14 15:31 by hyswxzs
信息提示
请填处理意见