作者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/cn.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