Re: [問題] 矩陣輸出加逗號的問題
我相信這些在彭國倫的書上都有寫,沒書的話,GOOGLE應該也很多,
關鍵字試試"格式化輸出",所以也沒啥好解釋了
而且其實我不太清楚一個矩陣你到底是要輸出成怎樣的型式
所以我直接給一段程式碼,拿去編譯執行,自己研究一下輸出結果
我想應該就大概知道怎麼運用格式化輸出了,其他的就是要看自己是不是能靈活運用
PROGRAM main
IMPLICIT NONE
INTEGER*4::A(3,3)
A(1,:)=1
A(2,:)=2
A(3,:)=3
WRITE(*,*) "WRITE(*,*) A 得到"
WRITE(*,*) A
WRITE(*,*) "WRITE(*,""(3(I1,' '),/)"") A 得到"
WRITE(*,"(3(I1,' '),/)") A
WRITE(*,*) "WRITE(*,""(3(I1,' '),/)"") TRANSPOSE(A) 得到"
WRITE(*,"(3(I1,' '),/)") TRANSPOSE(A)
WRITE(*,*) "WRITE(*,""(3(I1,','),/)"") TRANSPOSE(A) 得到"
WRITE(*,"(3(I1,','),/)") TRANSPOSE(A)
WRITE(*,*) "WRITE(*,""(2(I1,','),I1,/)"") TRANSPOSE(A) 得到"
WRITE(*,"(2(I1,','),I1,/)") TRANSPOSE(A)
END PROGRAM main
※ 引述《tonk6Vs (一樹)》之銘言:
: 各位前輩好
: 我最近在做Sutton-Chen potential的Minima
: 那我是用Hessian matrix來確定是不是為Minima
: 確定方法是去求得matrix的eigenvalue
: eigenvalue都為正就是對的Minima
: 在小系統還好
: 大系統我用Jacobi去跑時間花很久
: 所以想說用Mathemetica會不會比較快
我沒用過Mathemetica,不太曉得Mathemetica怎樣,我一直都只用MATLAB跟FORTRAN
純粹計算的東西,基本上MATLAB要比FORTRAN快還頗困難的,我的經驗是這樣...
畢竟MATLAB應該算是直譯式語言,FORTRAN是編譯式,兩者的用途取向本來就不太相同
尤其MATLAB好像還跟虛擬碼牽扯上一些關係,程式碼疑似需要做二次翻譯
拿C來跟FORTRAN比較速度還比較合理一些
經驗中,純粹計算的程式,如果FORTRAN寫的程式效率比較差,通常都是自己的問題
做了錯誤或演算法不對等的比較、或是編譯參數亂設之類的...等等自己的問題
所以如果Mathemetica跟MATLAB是差不多的東西,我不認為Mathemetica會比較快
不過你可以試試,畢竟我也沒用過Mathemetica
: 但是他需要像這樣的INPUT:
: Eigenvalue[{{1,1},{1,1}]
: 就是矩陣的各元素要用","分開
: 那我現在是可以輸出像這樣
: 1 1 1....
: 2 2 2....
: 3 3 3....
: 這種用空格隔開的矩陣
: 請問各位前輩要怎麼寫
: 能讓上面的矩陣Read完然後輸出像這樣
: 1, 1, 1,....
: 2, 2, 2,....
: 3, 3, 3,....
: 的方式
: 謝謝!!
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.112.218.94
推
02/08 20:17, , 1F
02/08 20:17, 1F
→
02/09 17:09, , 2F
02/09 17:09, 2F
討論串 (同標題文章)
Fortran 近期熱門文章
PTT數位生活區 即時熱門文章