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

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

鐵桿木蟲 (著名寫手)
工程和科學數(shù)值計算咨詢
| 最具人氣熱帖推薦 [查看全部] | 作者 | 回/看 | 最后發(fā)表 | |
|---|---|---|---|---|
|
[考研] 材料專碩 085600求調(diào)劑 +7 | BBQ233 2026-03-30 | 7/350 |
|
|---|---|---|---|---|
|
[考研] 322求調(diào)劑:一志愿湖南大學 材料與化工(085600),已過六級。 +9 | XX小鄧 2026-03-29 | 9/450 |
|
|
[考研] 342求調(diào)劑 +4 | 加油a李zs 2026-03-26 | 4/200 |
|
|
[考研] 332求調(diào)劑 +13 | 032500 2026-03-25 | 13/650 |
|
|
[考研] 322求調(diào)劑 +9 | 宋明欣 2026-03-27 | 9/450 |
|
|
[考研] 329求調(diào)劑,一志愿西北工業(yè)大學,材料工程(085601) +5 | 小小機靈蟲 2026-03-29 | 11/550 |
|
|
[考研] 考研調(diào)劑 +5 | Sanmu-124 2026-03-26 | 5/250 |
|
|
[考研] 一志愿南開大學0710生物學359求調(diào)劑 +5 | 兔兔兔111223314 2026-03-29 | 5/250 |
|
|
[考研] 295求調(diào)劑 +5 | wei-5 2026-03-26 | 5/250 |
|
|
[考研] 327求調(diào)劑 +4 | 小卡不卡. 2026-03-29 | 4/200 |
|
|
[考研] 085600 286分 材料求調(diào)劑 +10 | 麻辣魷魚 2026-03-27 | 11/550 |
|
|
[考博] 26申博自薦 +6 | whh869393 2026-03-24 | 6/300 |
|
|
[考研] 327求調(diào)劑 +6 | 汲亦昊 2026-03-29 | 6/300 |
|
|
[考研] 308求調(diào)劑 +7 | 墨墨漠 2026-03-27 | 7/350 |
|
|
[考研] 315分求調(diào)劑 +7 | 26考研上岸版26 2026-03-26 | 7/350 |
|
|
[考研] 298調(diào)劑 +3 | jiyingjie123 2026-03-27 | 3/150 |
|
|
[考研] 0703化學338求調(diào)劑! +6 | Zuhui0306 2026-03-26 | 7/350 |
|
|
[考研] 考研一志愿蘇州大學初始315(英一)求調(diào)劑 +3 | sbdksD 2026-03-24 | 4/200 |
|
|
[考研] 296求調(diào)劑 +4 | 汪。! 2026-03-25 | 7/350 |
|
|
[考研] 277分求調(diào)劑,跨調(diào)材料 +3 | 考研調(diào)劑lxh 2026-03-24 | 3/150 |
|