1
如何在Fortran中將複雜(nXn)矩陣寫入文件? 例如:在Fortran中編寫複雜矩陣
DO I=1,N
write(14,'(100g15.5)') (M(i,j), j=1,n)
ENDDO
在這個例子中一個送爲2N×N寫入到文件,即實部和虛元素。 (a11)Im(a11),我怎樣才能把它寫成一個元素Re(a11)+ iIm(a11)?
如何在Fortran中將複雜(nXn)矩陣寫入文件? 例如:在Fortran中編寫複雜矩陣
DO I=1,N
write(14,'(100g15.5)') (M(i,j), j=1,n)
ENDDO
在這個例子中一個送爲2N×N寫入到文件,即實部和虛元素。 (a11)Im(a11),我怎樣才能把它寫成一個元素Re(a11)+ iIm(a11)?
使用內部函數REAL和AIMAG寫複數的個體實和虛分量:
CHARACTER(LEN=3),DIMENSION(n,n) :: imag_unit = '+i*'
WHERE(AIMAG(M)<0.)imag_unit = '-i*'
DO I=1,N
write(14,'(100(g15.5,a,g15.5,2x))') (REAL(M(i,j)),imag_unit(i,j),&
ABS(AIMAG(M(i,j))), j=1,n)
ENDDO
說明:該代碼定義具有值的字符串的矩陣「+ I」時虛部是正值,而虛部爲負值的'-i'。由於負的虛部在格式('-i')中被考慮,所以我們取虛部的絕對值。相應地編輯格式描述符,以便用於讀取輸出文件的程序將能夠讀取它。
HI IRO-BOT,下面 是輸出文件,當你看到它的不正常: 5.4585 +我-7.2662 -7.6987 + I 6.7328 6.4439 +我4.7736 4.4043 +我-7.7265 – bill 2012-01-03 20:10:04
我editted我的答案照顧正確的格式。 – milancurcic 2012-01-03 20:20:27
我希望它對於Matalb是可讀的,即Matlab會理解它是nXn複雜矩陣 – bill 2012-01-03 20:21:12