| 9 | 1/1 | 返回列表 |
| 查看: 1291 | 回復: 8 | ||
575406210銀蟲 (初入文壇)
|
[求助]
【求助】求幫忙看一下程序,卡在這里好幾天了,一直想不通 已有1人參與
|
|
錯誤是Error 37 error #6633: The type of the actual argument differs from the type of the dummy argument. [S] C:\Users\zyl\Desktop\console\Console6\Console6\Source1.f90 5424 這是第一個子程序: SUBROUTINE BMATCH (SM,LAM,A1,A3,S,T,E,V,W,NN,LR,FLOAD,FAMP) IMPLICIT REAL*8 (A-H,O-Z) COMPLEX*16 SM(1),LAM(1),A1(1),A3(1),S(1),T(1),E(NN) COMPLEX*16 V(NN,NN),W(NN,NN),C,CC,D,DD COMPLEX*16 FLOAD(1),FAMP(1) COMMON /LRCHK/ NCOMF N1=NN-1 N2=NN-2 N3=NN-3 F=.5D0 DO 30 J=1,NN C=E(J)*(0.0D0,1.0D0) DO 30 I=1,NN 30 W(I,J)=V(I,J)*C DO 60 J=1,NN S(1)=A1(1)*W(1,J)+A3(1)*W(3,J) S(2)=A1(2)*W(2,J)+A3(2)*W(4,J) S(N1)=A1(N1)*W(N1,J)+A3(N3)*W(N3,J) S(NN)=A1(NN)*W(NN,J)+A3(N2)*W(N2,J) DO 50 I=3,N2 50 S(I)=A3(I-2)*W(I-2,J)+A1(I)*W(I,J)+A3(I)*W(I+2,J) DO 60 I=1,NN 60 W(I,J)=S(I) CALL INVERT (V,NN,NN,S,T,DET) 錯誤定位在這一行,說S的類型不對。 DO 80 I=1,NN DO 70 J=I,NN S(J)=(0.0D0,0.0D0) DO 70 K=1,NN 70 S(J)=S(J)+W(I,K)*V(K,J) DO 80 J=I,NN 80 W(I,J)=S(J) CC=(0.0D0,0.0D0) DD=(0.0D0,0.0D0) M=0 DO 100 I=2,N2,2 K=I-1 M=M+1 C=F*LAM(M) D=F*SM(M) W(K,I)=W(K,I)+C-CC W(K,K+3)=W(K,K+3)-C W(I,I+1)=W(I,I+1)-D CC=C 100 DD=D W(N1,NN)=W(N1,NN)-CC+F*LAM(M+1) DO 105 I=1,NN DO 105 J=I,NN 105 W(J,I)=W(I,J) L=0 DO 150 J=1,NN DO 150 I=1,J L=L+1 V(L,1)=W(I,J) 150 W(L,1)=V(L,1) M=0 K=-2 DO 200 I=1,NN,2 K=K+4 L=M+1 M=L+K N=L+1 DO 180 J=N,M,2 IF (NCOMF.EQ.0) GO TO 181 W(J,1)=-W(J,1) GO TO 180 181 CONTINUE V(J,1)=-V(J,1) 180 CONTINUE 200 CONTINUE READ (24) (FAMP(LK),LK=1,NN) IF (LR-2) 300,400,300 300 WRITE (23) M, (W(J,1),J=1,M) CALL FVECT(NN,FLOAD,W,FAMP) IF (LR .EQ. 3) GO TO 400 RETURN 400 WRITE (23) M, (V(J,1),J=1,M) CALL FVECT(NN,FLOAD,V,FAMP) RETURN END 以下是錯誤定位的那一行調(diào)用的子程序: SUBROUTINE INVERT (A,NN,N,M,C,DET) IMPLICIT REAL*8 (A-H,O-Z) DIMENSION M(1) COMPLEX*16 A(N,1),C(1),D,TEMP,DE DE=(1.0D0,0.0D0) IF (NN-1) 300,350,100 100 DO 110 I = 1,NN 110 M(I) = -I DO 200 I = 1,NN X=0.0D0 DO 130 L = 1,NN IF (M(L).GT.0) GO TO 130 DO 120 K = 1,NN IF (M(K).GT.0) GO TO 120 D=A(L,K) Y=DABS(DREAL(D))+DABS(DIMAG(D)) IF (X.GT.Y) GO TO 120 LD = L KD = K X=Y 120 CONTINUE 130 CONTINUE D=A(LD,KD) DE=DE*D L = -M(LD) M(LD) = M(KD) M(KD) = L DO 140 J = 1,NN C(J) = A(LD,J) A(LD,J) = A(KD,J) 140 A(KD,J) = C(J) DO 150 K = 1,NN 150 A(K,KD) = A(K,KD)/D DO 170 J = 1,NN IF (J.EQ.KD) GO TO 170 DO 160 K = 1,NN 160 A(K,J) = A(K,J) - C(J)*A(K,KD) 170 CONTINUE C(KD) =(-1.0D0,0.0D0) DO 180 K = 1,NN 180 A(KD,K) = -C(K)/D 200 CONTINUE DO 240 I = 1,NN L = 0 220 L = L + 1 IF (M(L).NE.I) GO TO 220 M(L) = M(I) M(I) = I DO 240 K = 1,NN TEMP = A(K,L) A(K,L) = A(K,I) 240 A(K,I) = TEMP DET=CDABS(DE) 300 RETURN 350 A(1,1) = 1.0D0/A(1,1) DET=CDABS(A(1,1)) GO TO 300 END 錯誤中提到的同一個變量 在兩個程序中被聲明為兩種格式,怎么辦? |
銀蟲 (初入文壇)
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
金蟲 (正式寫手)
金蟲 (正式寫手)
|
修改建議: 1,所有的變量都寫出類型聲明,不要用缺省。 比如 DET 是實型。 2,數(shù)組維數(shù)也是 有問題的 ,比如 V(nn,nn) 和 A(N,1) 也是 對不上的,它們雖然類型一致。 3,根據(jù)子程序中 M的用法,編程時是當做整形在使用的。而 S 上面?zhèn)飨聛砭褪?復數(shù)。這有嚴重的矛盾,并不是簡單的修改變量類型問題。所以 你搞清楚 那個 S 到底是啥? 那個 INVERT 子程序 是不是 抄來的,不好直接使用? |
銀蟲 (初入文壇)
木蟲 (小有名氣)
銀蟲 (初入文壇)
| 9 | 1/1 | 返回列表 |
| 最具人氣熱帖推薦 [查看全部] | 作者 | 回/看 | 最后發(fā)表 | |
|---|---|---|---|---|
|
[考研] 一志愿哈爾濱工業(yè)大學材料與化工方向336分 +6 | 辰沐5211314 2026-03-26 | 6/300 |
|
|---|---|---|---|---|
|
[考研] 285求調(diào)劑 +4 | AZMK 2026-03-27 | 7/350 |
|
|
[考研] 274求調(diào)劑 +17 | 顧九笙要謙虛 2026-03-24 | 23/1150 |
|
|
[考研] 324求調(diào)劑 +8 | hanamiko 2026-03-26 | 10/500 |
|
|
[考研] 求調(diào)劑 一志愿 本科 北科大 化學 343 +6 | 13831862839 2026-03-24 | 7/350 |
|
|
[考研] 294分080500材料科學與工程求調(diào)劑 +4 | 柳溪邊 2026-03-26 | 4/200 |
|
|
[考研] 機械學碩310分,數(shù)一英一,一志愿211本科雙非找調(diào)劑信息 +3 | @357 2026-03-25 | 3/150 |
|
|
[考研] 081700 調(diào)劑 267分 +11 | 迷人的哈哈 2026-03-23 | 11/550 |
|
|
[考研] 材料277求調(diào)劑 +5 | min3 2026-03-24 | 5/250 |
|
|
[考研] 打過很多競賽,085406控制工程300分,求調(diào)劑 +3 | askeladz 2026-03-26 | 3/150 |
|
|
[考研] 303求調(diào)劑 +6 | 藍山月 2026-03-25 | 6/300 |
|
|
[考研] 07化學303求調(diào)劑 +5 | 睿08 2026-03-25 | 5/250 |
|
|
[考研] 一志愿南航 335分 | 0856材料化工 | GPA 4.07 | 有科研經(jīng)歷 +6 | cccchenso 2026-03-23 | 6/300 |
|
|
[考研] 0703化學調(diào)劑,求導師收 +7 | 天天好運來上岸?/a> 2026-03-24 | 7/350 |
|
|
[考研]
|
黃粱一夢千年 2026-03-24 | 3/150 |
|
|
[考研]
|
13659058978 2026-03-24 | 4/200 |
|
|
[考研] 一志愿山東大學藥學學碩求調(diào)劑 +3 | 開開心心沒煩惱 2026-03-23 | 4/200 |
|
|
[考研] 341求調(diào)劑(一志愿湖南大學070300) +5 | 番茄頭--- 2026-03-22 | 6/300 |
|
|
[考研] 284求調(diào)劑 +3 | yanzhixue111 2026-03-23 | 6/300 |
|
|
[考研]
|
2117205181 2026-03-21 | 8/400 |
|