作者daumda (行不行)
看板Fortran
標題[問題] 如何開一個每列長度不同的矩陣?
時間Fri Mar 3 00:37:30 2017
大家好
想請教大家如何宣告一個長度不同的矩陣
一般來說矩陣都是宣告成n*n*n...
我今天有一組資料,裡面各組的長度並不相同
例如3組資料,每組各有2,3,4個數值
請問要如何使用allocate呢?
我第一次有這樣需求
目前只有最笨的方法,應該是直接開一個遠大於資料長度的矩陣
比如例子中使用a(10,3)
請問大家有別種作法嗎?
謝謝大家不吝指教!
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 111.243.104.107
※ 文章網址: https://webptt.com/m.aspx?n=bbs/Fortran/M.1488472653.A.5FE.html
1F:推 physbook: 要開夠大,其他放NaN。可以先用NaN(10, 3)把矩陣開好再 03/03 10:26
2F:→ physbook: 填入資料。 03/03 10:26
3F:→ physbook: 欸幹,沒注意到我在fortran板.....上面atlab的解法請自 03/03 10:27
4F:→ physbook: 動忽略.......@@ 03/03 10:27
5F:→ physbook: fortran的話,一樣開足夠大的矩陣,或是你可以先分析過 03/03 10:28
6F:→ physbook: 資料看看最大長度有多長,矩陣的變數改成allocatable, 03/03 10:28
7F:→ physbook: 在再allocate成最大長度的大小 03/03 10:28
8F:推 rex0707: 可以用linked list省記憶體空間 03/03 13:17
9F:→ blc: pointer ? 03/03 21:39
10F:推 rex0707: 可以試試看compressed row storage的做法 03/04 10:55
11F:→ daumda: 謝謝大家的意見,我來研究看看再回報 03/04 17:24