Re: [問題] 未知大小矩陣讀取的問題
※ 引述《openfire (疲憊...)》之銘言:
: fortran在放置或讀取arry的順序為先從最左邊的一行
: 把同一行下的列值都讀完之後,再往右一行繼續讀
: 寫值的順序也是一樣
: 所以要在不指定的狀況下讓fortran把讀值放進你想要的位置就必須遵從以下方式
: 以3X3矩陣為例
: 11.dat內容:
: aa
: ba
: ca
: ab
: bb
: cb
: ac
: bc
: cc
: read 11.dat進入a(3,3)
: fortran的放置方式:
: aa ab ac
: ba bb bc
: ca cb cc
: 不過如果今天11.dat的內容變更為
: aa ab ac
: ba bb bc
: ca cb cc
: 然後在不知道矩陣大小的狀況下該怎麼寫才能正確的定義每個值到相對應的矩陣位置呢?
: 使用
: do while(.not. eof(11))
: read(11,*)row
: n=n+1
: enddo
: allocate (a(n,n))
: 定出a的大小之後我就卡關了@@
: fortran讀檔案一次都是讀一整行
: 所以在read(11,*)的後面必須要清楚的告訴他每個值的意義
: 在知道矩陣大小的狀況下可以用read(11,*)a(i,1),a(i,1),a(i,1)
: 然後配合上do i=1,3 就可以達到目的
: 可是現在矩陣大小未知的話到底該怎麼處理會比較好呢
: 想了一整個晚上都沒有想出好方法
: 還麻煩高手賜教
矩陣大小未知的話....無解
因為無法得知read後,讀取的一整行,有幾個數值
Fortran沒有相關指令可以用....
--
猫の会社賣場
http://class.ruten.com.tw/user/index00.php?c=&m=&o=&p=&s=auto_cat
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.127.181.230
→
08/11 19:07, , 1F
08/11 19:07, 1F
討論串 (同標題文章)
Fortran 近期熱門文章
PTT數位生活區 即時熱門文章