| 5 | 1/1 | 返回列表 |
| 查看: 1907 | 回復(fù): 12 | ||
| 當(dāng)前只顯示滿足指定條件的回帖,點(diǎn)擊這里查看本話題的所有回帖 | ||
霹靂旋風(fēng)榮譽(yù)版主 (著名寫(xiě)手)
|
[求助]
求高人幫忙看一下我這個(gè)Fortran程序的錯(cuò)誤出在哪里?
|
|
|
程序代碼如下: 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桿的內(nèi)力誤差 C(2)=cos(X(1))/sin(X(1)+X(2))*sin(20.0/180*3.14)-1.0 ! BC桿的內(nèi)力誤差 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 程序編譯通過(guò),但是出現(xiàn)計(jì)算數(shù)據(jù)無(wú)法輸出的問(wèn)題,請(qǐng)高手幫忙看一下。不勝感激。 |
木蟲(chóng) (正式寫(xiě)手)
金蟲(chóng) (著名寫(xiě)手)
榮譽(yù)版主 (著名寫(xiě)手)
至尊木蟲(chóng) (知名作家)
| 最具人氣熱帖推薦 [查看全部] | 作者 | 回/看 | 最后發(fā)表 | |
|---|---|---|---|---|