[問題] 未知大小矩陣讀取的問題
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 就可以達到目的
可是現在矩陣大小未知的話到底該怎麼處理會比較好呢
想了一整個晚上都沒有想出好方法
還麻煩高手賜教
--
正妹!!! 幹!跟你說過要先看看你自己的臉...
\ /
○
︵ \○ ╱/|
. . ﹎ ﹍﹍ ╱ ̄﹚╱>
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.227.148.239
推
08/09 12:27, , 1F
08/09 12:27, 1F
→
08/09 14:20, , 2F
08/09 14:20, 2F
→
08/09 14:20, , 3F
08/09 14:20, 3F
→
08/09 14:21, , 4F
08/09 14:21, 4F
→
08/09 14:21, , 5F
08/09 14:21, 5F
推
08/10 13:46, , 6F
08/10 13:46, 6F
→
08/10 13:47, , 7F
08/10 13:47, 7F
→
08/10 13:47, , 8F
08/10 13:47, 8F
推
08/10 13:52, , 9F
08/10 13:52, 9F
推
08/12 02:41, , 10F
08/12 02:41, 10F
→
08/12 02:42, , 11F
08/12 02:42, 11F
→
08/12 02:42, , 12F
08/12 02:42, 12F
推
08/12 15:45, , 13F
08/12 15:45, 13F
→
08/12 15:46, , 14F
08/12 15:46, 14F
→
08/12 15:46, , 15F
08/12 15:46, 15F
→
08/12 15:47, , 16F
08/12 15:47, 16F
→
08/13 01:06, , 17F
08/13 01:06, 17F
→
08/13 01:06, , 18F
08/13 01:06, 18F
→
08/13 10:44, , 19F
08/13 10:44, 19F
→
08/13 10:53, , 20F
08/13 10:53, 20F
推
08/13 12:56, , 21F
08/13 12:56, 21F
推
08/13 12:59, , 22F
08/13 12:59, 22F
討論串 (同標題文章)
Fortran 近期熱門文章
PTT數位生活區 即時熱門文章