| 6 | 1/1 | 返回列表 |
| 查看: 1767 | 回復(fù): 5 | ||
ryan111a新蟲 (初入文壇)
|
[求助]
關(guān)于應(yīng)用fortran編寫高斯消去法程序來求解方程組的問題
|
|
關(guān)于應(yīng)用fortran編寫高斯消去法程序來求解方程組的問題。 應(yīng)用高斯消去法來求解方程組的fortran編程,我自己可以編寫,但如果方程的系數(shù)矩陣不便,而右邊的解矩陣發(fā)生了同樣的變化,怎樣才能通過循環(huán),來求這個方程組的所有解。 我當(dāng)時在高斯消去法上加了個循環(huán),但是在變換右邊解矩陣時,出現(xià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)我想表達(dá)的意思是每次循環(huán)對應(yīng)的的右邊的解矩陣。j是高斯消去法循環(huán)的次數(shù)。 |

鐵桿木蟲 (著名寫手)
工程和科學(xué)數(shù)值計算咨詢
新蟲 (初入文壇)
|
十分感謝您的回答,相信用您的程序肯定可以實現(xiàn)此功能,因為我只是注重fortran程序?qū)崿F(xiàn)我的功能,不知您是否有時間,幫忙修改下我的這塊程序。 !@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ SUBROUTINE ICGaussA(ICmplx,NumT,NumI,MInd,R,Im) !復(fù)數(shù)的高斯消去法(用來求包封電流或?qū)与娏? IMPLICIT NONE INTEGER NumT,NumI !總包封數(shù)或?qū)訑?shù) COMPLEX ICmplx(NumT,NumI) !復(fù)數(shù)電流值,待輸出量 REAL MInd(NumT,NumT) !包封或?qū)拥幕ジ芯仃?br /> REAL R(NumT) !包封或?qū)拥碾娮柘蛄?br /> REAL Im(NumI) COMPLEX MZ[ALLOCATABLE](:, !電壓阻抗矩陣COMPLEX TZ[ALLOCATABLE](:, !電流阻抗矩陣COMPLEX ImCmplx[ALLOCATABLE](:, !右端復(fù)數(shù)電流向量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 !@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ |

鐵桿木蟲 (著名寫手)
工程和科學(xué)數(shù)值計算咨詢
鐵桿木蟲 (著名寫手)
工程和科學(xué)數(shù)值計算咨詢
新蟲 (初入文壇)

| 6 | 1/1 | 返回列表 |
| 最具人氣熱帖推薦 [查看全部] | 作者 | 回/看 | 最后發(fā)表 | |
|---|---|---|---|---|
|
[考研] 322求調(diào)劑 +9 | 宋明欣 2026-03-27 | 9/450 |
|
|---|---|---|---|---|
|
[考研] 一志愿南航 335分 | 0856材料化工 | GPA 4.07 | 有科研經(jīng)歷 +8 | cccchenso 2026-03-23 | 8/400 |
|
|
[考研] 282求調(diào)劑 +4 | wcq131415 2026-03-24 | 4/200 |
|
|
[考研] 348求調(diào)劑 +6 | 小懶蟲不懶了 2026-03-28 | 6/300 |
|
|
[考研] 材料與化工304求B區(qū)調(diào)劑 +4 | 邱gl 2026-03-26 | 7/350 |
|
|
[考研] 085600,材料與化工321分求調(diào)劑 +10 | 大饞小子 2026-03-28 | 10/500 |
|
|
[考研] 275求調(diào)劑 +15 | Micky11223 2026-03-25 | 20/1000 |
|
|
[考研] 材料學(xué)碩333求調(diào)劑 +11 | 北道巷 2026-03-24 | 11/550 |
|
|
[考研] 316求調(diào)劑 +7 | 江辭666 2026-03-26 | 7/350 |
|
|
[考研] 一志愿北化085600材料專碩275|有文章專利|求調(diào)劑 +7 | Micky11223 2026-03-25 | 7/350 |
|
|
[考研] 本科新能源科學(xué)與工程,一志愿華理能動285求調(diào)劑 +3 | AZMK 2026-03-27 | 5/250 |
|
|
[考研] 304求調(diào)劑 +6 | 曼殊2266 2026-03-27 | 6/300 |
|
|
[考研] 275求調(diào)劑 +10 | jjjjjjjjjjl 2026-03-27 | 10/500 |
|
|
[考研] 322求調(diào)劑 +4 | 我真的很想學(xué)習(xí) 2026-03-23 | 4/200 |
|
|
[考研] 309求調(diào)劑 +4 | gajsj 2026-03-25 | 5/250 |
|
|
[考研] 一志愿哈工大,085400,320,求調(diào)劑 +4 | gdlf9999 2026-03-24 | 4/200 |
|
|
[考研] 材料與化工304求B區(qū)調(diào)劑 +3 | 邱gl 2026-03-25 | 3/150 |
|
|
[考研] 各位老師您好:本人初試372分 +5 | jj涌77 2026-03-25 | 6/300 |
|
|
[考研] 一志愿吉林大學(xué)材料與化工303分求調(diào)劑 +4 | 為學(xué)666 2026-03-24 | 4/200 |
|
|
[考研] 一志愿北化315 求調(diào)劑 +3 | akrrain 2026-03-24 | 3/150 |
|