| 5 | 1/1 | 返回列表 |
| 查看: 1770 | 回復: 5 | |||
| 當前只顯示滿足指定條件的回帖,點擊這里查看本話題的所有回帖 | |||
ryan111a新蟲 (初入文壇)
|
[求助]
關于應用fortran編寫高斯消去法程序來求解方程組的問題
|
||
|
關于應用fortran編寫高斯消去法程序來求解方程組的問題。 應用高斯消去法來求解方程組的fortran編程,我自己可以編寫,但如果方程的系數矩陣不便,而右邊的解矩陣發(fā)生了同樣的變化,怎樣才能通過循環(huán),來求這個方程組的所有解。 我當時在高斯消去法上加了個循環(huán),但是在變換右邊解矩陣時,出現了如下錯誤,怎么解決? E:\machao reactor\assitance\restart\one.f90(399) : Error: A constant or named constant is required in this context. [IM] ImCmplx(Row,j)=(Im(j),0) Im(j)我想表達的意思是每次循環(huán)對應的的右邊的解矩陣。j是高斯消去法循環(huán)的次數。 |

新蟲 (初入文壇)
|
十分感謝您的回答,相信用您的程序肯定可以實現此功能,因為我只是注重fortran程序實現我的功能,不知您是否有時間,幫忙修改下我的這塊程序。 !@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ SUBROUTINE ICGaussA(ICmplx,NumT,NumI,MInd,R,Im) !復數的高斯消去法(用來求包封電流或層電流) IMPLICIT NONE INTEGER NumT,NumI !總包封數或層數 COMPLEX ICmplx(NumT,NumI) !復數電流值,待輸出量 REAL MInd(NumT,NumT) !包封或層的互感矩陣 REAL R(NumT) !包封或層的電阻向量 REAL Im(NumI) COMPLEX MZ[ALLOCATABLE](:, !電壓阻抗矩陣COMPLEX TZ[ALLOCATABLE](:, !電流阻抗矩陣COMPLEX ImCmplx[ALLOCATABLE](:, !右端復數電流向量COMPLEX Temp,Sum !中間變量 INTEGER Row,Col,Num !行號和列號 INTEGER ME !主元 INTEGER i INTEGER j REAL,PARAMETER: mga=314.159REAL,PARAMETER::pai=3.14159 ALLOCATE(TZ(NumT,NumT)) ALLOCATE(MZ(NumT,NumT)) ALLOCATE(ImCmplx(NumT,NumT)) DO j=1,NumI DO Row=1,NumT DO Col=1,NumT IF(Row==Col) THEN MZ(Row,Col)=CMPLX(R(Row),omga*MInd(Row,Col)) ELSE MZ(Row,Col)=CMPLX(0,omga*MInd(Row,Col)) END IF END DO END DO DO Row=1,NumT IF(Row==NumT) THEN DO Col=1,NumT TZ(Row,Col)=CMPLX(1,0) END DO ELSE DO Col=1,NumT TZ(Row,Col)=MZ(Row,Col)-MZ(Row+1,Col) END DO END IF END DO DO Row=1,NumT IF(Row==NumT) THEN ImCmplx(Row,j)=(Im(j),0) ELSE ImCmplx(Row,j)=(0,0) END IF END DO DO Row=1,NumT ME=Row DO i=Row+1,NumT IF(ABS(TZ(i,Row))>ABS(TZ(ME,Row))) THEN ME=i END IF END DO DO i=1,NumT Temp=TZ(ME,i) TZ(ME,i)=TZ(Row,i) TZ(Row,i)=Temp END DO Temp=ImCmplx(Row,i) ImCmplx(Row,i)=ImCmplx(ME,i) ImCmplx(ME,i)=Temp DO Col=Row+1,NumT TZ(Col,Row)=TZ(Col,Row)/TZ(Row,Row) DO i=Row+1,NumT TZ(Col,i)=TZ(Col,i)-TZ(Col,Row)*TZ(Row,i) END DO ImCmplx(Col,j)=ImCmplx(Col,j)-TZ(Col,Row)*ImCmplx(Row,j) END DO END DO ICmplx(NumT,j)=ImCmplx(NumT,j)/TZ(NumT,NumT) DO Row=NumT-1,1,-1 Sum=ImCmplx(Row,j) DO Num=Row+1,NumT Sum=Sum-TZ(Row,i)*ImCmplx(i,Num) END DO ICmplx(Row,j)=Sum/TZ(Row,Row) END DO END DO DEALLOCATE(MZ) DEALLOCATE(TZ) DEALLOCATE(ImCmplx) RETURN END SUBROUTINE !@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ |

鐵桿木蟲 (著名寫手)
工程和科學數值計算咨詢
鐵桿木蟲 (著名寫手)
工程和科學數值計算咨詢
鐵桿木蟲 (著名寫手)
工程和科學數值計算咨詢
| 最具人氣熱帖推薦 [查看全部] | 作者 | 回/看 | 最后發(fā)表 | |
|---|---|---|---|---|
|
[考研] 083000環(huán)境科學與工程調劑,總分281 +3 | 橙子(勝意) 2026-03-30 | 3/150 |
|
|---|---|---|---|---|
|
[考研] 309求調劑 +15 | 誰不是少年 2026-03-29 | 15/750 |
|
|
[考研]
|
gr哈哈哈 2026-03-28 | 3/150 |
|
|
[考研] 一志愿廈門大學材料工程專碩354找調劑。! +5 | 貝唄鋇鋇 2026-03-30 | 5/250 |
|
|
[考研] 0703 化學 求調劑,一志愿山東大學 342 分 +7 | Shern—- 2026-03-28 | 7/350 |
|
|
[考研] 284求調劑 +14 | junqihahaha 2026-03-26 | 15/750 |
|
|
[考研] 考研調劑 +5 | Sanmu-124 2026-03-26 | 5/250 |
|
|
[考研] 283求調劑(080500) +14 | A child 2026-03-27 | 14/700 |
|
|
[考博] 26申博自薦 +6 | whh869393 2026-03-24 | 6/300 |
|
|
[考研] 085600,專業(yè)課化工原理,321分求調劑 +5 | 大饞小子 2026-03-28 | 5/250 |
|
|
[考研] 0703化學調劑,求導師收 +9 | 天天好運來上岸?/a> 2026-03-24 | 10/500 |
|
|
[考研] 一志愿太原理工安全工程300分,求調劑 +5 | 0857求調劑. 2026-03-24 | 6/300 |
|
|
[考研] 071000生物學求調劑,初試成績343 +7 | 小小甜面團 2026-03-25 | 7/350 |
|
|
[考研] 復試調劑 +3 | raojunqi0129 2026-03-28 | 3/150 |
|
|
[考研] 283求調劑 +7 | A child 2026-03-28 | 7/350 |
|
|
[考研] 315分求調劑 +7 | 26考研上岸版26 2026-03-26 | 7/350 |
|
|
[考研] 295求調劑 +5 | 1428151015 2026-03-27 | 6/300 |
|
|
[考研] 308求調劑 +7 | 墨墨漠 2026-03-25 | 7/350 |
|
|
[考研] 材料求調劑 +5 | .m.. 2026-03-25 | 5/250 |
|
|
[考研]
|
平樂樂樂 2026-03-26 | 4/200 |
|