Fortran 板


LINE

我想请问为什麽我的程式码在旧版的Compaq Visual Fortran可以顺利执行(作业环境是在 Win7的XP_Mode里执行),但是我把同样的程式码放在微软的Microsoft Visual Studio 的 Fortran编辑器里却出现两个错(作业系统直接在Win7),请问有人可以帮我侦错吗? 以下是我的程式码 program homework01 implicit none integer::num,i,j real::U(20) real::Matrix_Bij(20,20) real::T(20) real::Y(20) real::b,a,G,E,pr,n,L,f,xi,xj,bij,bij1,bij2,bij3,bij4,uyi,PI,a1,a2,a3,a4,Tyy real::ux,uy,d,zxx,zyy,zxy,r1,r2,th1,th2 real::sumux,sumuy,sumzxx,sumzxy,sumzyy real::MATRIX_C(20) real::MATRIX_x(20) real::MATRIX_y(20) real::MATRIX_xx(20) real::MATRIX_yy(20) real::MATRIX_xy(20) ! bij1: bij的第一部分 ! bij2: bij的第二部分 ! bij3: bij的第三部分 ! bij4: bij的第四部分 PI=3.14159 num=20 E=10000 pr=0.3 G=0.5*(E/(1+pr)) uyi=-0.03 open(10,file='output.txt') ! L的修正 write(*,*)"L=b*f,请输入此次的f值" read(*,*)f write(*,*)"请输入此次的b值" read(*,*)b L=b*f write(*,*)"请输入此次的num值,不超过20" read(*,*)num write(10,*)"元素数目:",num write(10,*)"杨氏模数:",E,"MPa" write(10,*)"柏松比:",pr write(10,*)"剪力模数:",G write(10,*)"一半的基础宽:",b,"m" write(10,*)"元素长度 :",2*a,"m" write(10,*)"L =",f,"*基础宽 :",L write(10,*)"沉陷量 :",uyi,"m" call slove_Bij (num,i,j,xi,xj,a,bij,bij1,bij2,bij3,bij4,pr,G,Matrix_Bij,U,uyi,L,b,a1,a2,a3,a4) call solve (U,Matrix_Bij,T,num,uyi) ! call compare (num,g,uyi,b,pr,Y,Tyy,xi,a,i) ! call sum (ux,uy,zxx,zxy,zyy,uyi,r1,r2,th1,th2,y,a,d,f,b,pr,num,& PI,G,L,T,Matrix_x,Matrix_y,Matrix_xx,Matrix_xy,Matrix_yy,sumzxx,sumzxy,sumzyy) ! stop end program homework01 ! 解Bij subroutine1 Matrix_Bij subroutine slove_Bij (num,i,j,xi,xj,a,bij,bij1,bij2,bij3,bij4,pr,G,Matrix_Bij,U,uyi,L,b,a1,a2,a3,a4) implicit none integer::num,i,j real::U(20) real::Matrix_Bij(20,20) real::T(20) real::a,b,G,xi,xj,pr,n,L,bij,bij1,bij2,bij3,bij4,uyi,PI,E,a1,a2,a3,a4 PI=3.14159 E=10000 pr=0.3 G=0.5*(E/(1+pr)) uyi=-0.03 ! 定义元素 a=b/num write(10,*)"L :" write(10,*)L write(10,*)"a:" write(10,*)a write(10,*)"Bij :" do I=1,num xi=-b+(2*i-1)*a do j=1,num xj=-b+(2*j-1)*a a1=abs(xi-xj+a) a2=abs(xi-xj-a) a3=(L-xj-a) a4=(L-xj+a) write(10,*)"i" write(10,*)i write(10,*)"j:" write(10,*)j write(10,*)"xi:" write(10,*)xi write(10,*)"xj:" write(10,*)xj bij1=(xi-xj+a)*log(a1) bij2=(xi-xj-a)*log(a2) bij3=(L-xj-a)*log(a3) bij4=(L-xj+a)*log(a4) bij=-((1-pr)/(PI*G))*(bij1-bij2+bij3-bij4) Matrix_Bij(i,j)=bij write(10,*)"Bij :" write(10,*)bij write(*,*)"Bij :" write(*,*)bij Matrix_Bij(i,j)=bij end do end do ! uyi do i=1,num U(i)=uyi write(10,*)"uyi :" write(10,*)U(i) end do return end subroutine ! 比较理论解与数值分析 subroutine3 compare subroutine compare (num,G,uyi,b,pr,Y,Tyy,xi,a,i) implicit none integer::num,i real::Y(20) real::Tyy real::G,uyi,b,pr,xi,a write(10,*)"解析解为 :" write(*,*)"解析解为 :" do i=1,num a=b/num xi=(-1)*b+(2*i-1)*a Tyy=(((-1)*G*uyi)/((1-pr)*0.69314718))*(1/((b**2-xi**2)**0.5)) write(10,*)Tyy write(*,*)Tyy end do write(*,*)"---------------" return end subroutine ! 第二题 subroutine4 summary subroutine sum (ux,uy,zxx,zxy,zyy,uyi,r1,r2,th1,th2,y,a,d,f,b,pr,num,& PI,G,L,Matrix_C,Matrix_x,Matrix_y,Matrix_xx,Matrix_xy,Matrix_yy,sumzxx,sumzxy,sumzyy) integer::num,i real::ux,uy,zxx,zxy,zyy,r1,r2,th1,th2,uyi,a,b,f,PI,G,pr,L,o real::sumux,sumuy,sumzxx,sumzxy,sumzyy real::MATRIX_C(20) real::MATRIX_x(20) real::MATRIX_y(20) real::MATRIX_xx(20) real::MATRIX_yy(20) real::MATRIX_xy(20) L=b*f y=-1 r1=(x-a)**2+y**2 r2=(x+a)**2+y**2 do i=1,num sumux=0 sumuy=0 sumuzxx=0 sumuzxy=0 sumuzyy=0 xi=-b+(2*i-1)*a do j=1,num xj=-b+(2*i-1)*a x=xi-xj th1=Atan(y/(x-a)) th2=Atan(y/(x+a)) if((x-a) .le.0 .and. y .ge.0) then th1=th1+PI th2=th2+PI end if if((x+a) .le.0 .and. y .le.0) then th1=th1-PI th2=th2-PI end if ux=(-1*Matrix_C(i)/(2*PI*G))*((1-2*pr)*((x-a)*th1-(x+a)*th2-PI*a)+(1-pr)*y*(log(r1/r2))) uy=(1*Matrix_C(i)/(2*PI*G))*(-(1-2*pr)*y*(th1-th2)& +(1-pr)*((x-a)*LOG(r1)-(x+a)*LOG(r2)+(L+a)*(LOG(L+a)**2)-(L-a)*(LOG(L-a)**2))) zxx=(-1*Matrix_C(i)/PI)*(th1-th2+y*(x-a)/r1-y*(x+a)/r2) zyy=(-1*Matrix_C(i)/PI)*(th1-th2-y*(x-a)/r1+y*(x+a)/r2) zxy=(-1*Matrix_C(i)/PI)*y**2*(1/(r1)-1/(r2)) Sumux=Sumux+ux Sumuy=Sumuy+uy Sumuzxx=Sumuzxx+zxx Sumuzxy=Sumuzxy+zxy Sumuzyy=Sumuzyy+zyy write(10,*)ux,uy,zxx,zxy,zyy,Matrix_C(i) end do write(10,*) write(*,*) write(10,*)sumux,"sumux" write(10,*)sumuy,"sumuy" write(10,*)sumuzxx,"sumuzxx" write(10,*)sumuzxy,"sumuzxy" write(10,*)sumuzyy,"sumuzyy" write(*,*)sumux,"sumux" write(*,*)sumuy,"sumuy" write(*,*)sumuzxx,"sumuzxx" write(*,*)sumuzxy,"sumuzxy" write(*,*)sumuzyy,"sumuzyy" end do write(*,*)"---------------" return end subroutine SUBROUTINE SOLVE(b,a,x,N,uyi) implicit none integer::i,j,m,k,nb,n,l,jj real::b(20) real::a(20,20) real::x(20) real::E,sum,uyi,xm NB=N-1 DO 20 J=1,NB L=J+1 DO 20 JJ=L,N XM=A(JJ,J)/A(J,J) DO 10 I=J,N 10 A(JJ,I)=A(JJ,I)-A(J,I)*XM 20 B(JJ)=B(JJ)-B(J)*XM X(N)=B(N)/A(N,N) DO 40 J=1,NB JJ=N-J L=JJ+1 SUM=0. DO 30 I=L,N 30 SUM=SUM+A(JJ,I)*X(I) 40 X(JJ)=(B(JJ)-SUM)/A(JJ,JJ) write(*,*)"Ty:" write(10,*)"Ty:" do 60 j=1,n write(*,*)x(j) write(10,*)x(j) 60 continue RETURN END --



※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.120.28.104
1F:→ gilocustom:错误讯息是? 12/10 16:58
我也不清楚在哪,但是怎麽跑就是会有>test1 - 2 error(s), 0 warning(s)出现
2F:→ mk650:call副程式(参数),(参数)跳到下一行了,移回就可以执行 12/10 18:11
3F:→ mk650:如果你不是这个错误那就不解了,因为没细看程式码. 12/10 18:12
4F:→ mk650:如果是这个错误,那这个程式复制贴上缴出真轻松! 12/10 18:12
回M大,谢谢你概略的帮我看过,我刚刚把你说的地方移回去过了,一样还是两个错
5F:→ mk650:执行为L=b*f,请输入此次的f值,输入三个值可得计算结果 12/10 19:39
6F:→ mk650:我觉得是IVF设定问题,不是程式问题.请贴上图片或说明,这样 12/10 19:40
7F:→ mk650:才比较好debug 12/10 19:41
回M大,请问IVF设定问题是什麽意思呢?如果要我贴图片是贴"显示输出视窗"吗? 不是DOS视窗那个,是会显示档案是否建置成功那个!
8F:→ mk650:我在想这是作业吧,拿去问助教应该很快就解决了.你的程式是 12/11 09:44
9F:→ mk650:正确的,但IVF你可能不熟,有些小地方需要微调一下就可以执行 12/11 09:45
谢谢M大的热心回应,没有助教可以问说,目前在新版fortran执行算是还在尝试阶段, 我有考虑过如果新版无法执行,那就直接用旧版的编辑器呈现就好了,毕竟m大也帮我 看过,程式码没问题我就放心了! ※ 编辑: Kira76 来自: 140.120.28.104 (12/11 12:07)







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:Gossiping站内搜寻

TOP