| 5 | 1/1 | 返回列表 |
| 查看: 1773 | 回復(fù): 5 | ||
| 當(dāng)前只顯示滿足指定條件的回帖,點擊這里查看本話題的所有回帖 | ||
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ù)值計算咨詢
鐵桿木蟲 (著名寫手)
工程和科學(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ù)值計算咨詢
| 最具人氣熱帖推薦 [查看全部] | 作者 | 回/看 | 最后發(fā)表 | |
|---|---|---|---|---|
|
[考研] 0703化學(xué) +15 | 妮妮ninicgb 2026-03-27 | 15/750 |
|
|---|---|---|---|---|
|
[考研] 307求調(diào)劑 +20 | 超級伊昂大王 2026-03-24 | 22/1100 |
|
|
[考研] 085600材料與化工調(diào)劑 +15 | kikiki7 2026-03-30 | 15/750 |
|
|
[考研] 福建理工大學(xué)材料學(xué)院先進(jìn)合金團(tuán)隊招收考研調(diào)劑學(xué)生 +3 | 大華金商都 2026-03-30 | 4/200 |
|
|
[考研] 求調(diào)劑,一志愿 南京航空航天大學(xué) ,080500材料科學(xué)與工程學(xué)碩,總分289分 +9 | @taotao 2026-03-29 | 9/450 |
|
|
[考研] 085602化工求調(diào)劑(331分) +8 | 111@127 2026-03-30 | 8/400 |
|
|
[考研] 各位老師好,我的一志愿為北京科技大學(xué)085601材料專碩 +10 | Koxui 2026-03-28 | 10/500 |
|
|
[考研] 309求調(diào)劑 +15 | 誰不是少年 2026-03-29 | 15/750 |
|
|
[考研] 262求調(diào)劑 +4 | ZZ..000 2026-03-30 | 4/200 |
|
|
[考研] 289求調(diào)劑 +5 | BrightLL 2026-03-29 | 5/250 |
|
|
[考研] 327求調(diào)劑 +6 | 汲亦昊 2026-03-29 | 6/300 |
|
|
[考研] 291求調(diào)劑 +5 | Y-cap 2026-03-29 | 6/300 |
|
|
[考研] 266分,求材料冶金能源化工等調(diào)劑 +7 | 哇呼哼呼哼 2026-03-27 | 9/450 |
|
|
[考研] 085602 307分 求調(diào)劑 +7 | 不知道叫什么! 2026-03-26 | 7/350 |
|
|
[考研] 一志愿南師大0703化學(xué) 275求調(diào)劑 +4 | Ripcord上岸 2026-03-27 | 4/200 |
|
|
[考研] 085601 材料工程 313分 求調(diào)劑 +5 | Ong3 2026-03-27 | 5/250 |
|
|
[考研] 考研調(diào)劑 +9 | 小蠟新筆 2026-03-26 | 9/450 |
|
|
[考研] 303求調(diào)劑 +6 | 藍(lán)山月 2026-03-25 | 6/300 |
|
|
[考研] 300分,材料,求調(diào)劑,英一數(shù)二 +5 | 超贊的 2026-03-24 | 5/250 |
|
|
[考研] 080500求調(diào)劑 +3 | zzzzfan 2026-03-24 | 3/150 |
|