簡體   English   中英

在Matlab中存儲非常大的數據結構的方法

[英]Method to store very large data structures in Matlab

我有6000個英格蘭的始發地-目的地。 對於每一對,我需要找到從起點到終點的最短路徑。 最短路徑算法將基礎道路網絡的每個鏈接和一個OD對的詳細信息(節點緯度和經度,道路鏈接長度和唯一ID)作為輸入。

基礎道路網絡上的鏈接數為4091065。我讀取了道路網絡,並將其存儲在結構數組中,每個元素代表一個鏈接,並將其保存在.mat文件中。 如您所見,數據大小變得太大,Matlab的內存不足。

我將不勝感激解決這個問題的方法。 增加內存似乎並沒有太大幫助。

謝謝

我相信最好的方法是根本不在Matlab中做到這一點-使用數據庫。

如果必須是Matlab,也許您可​​以以某種方式對數據進行分區-也許在縣左右。 可以肯定的是,您也可以找到一種針對每個特定請求排除大量節點的方法。

最短路徑算法將基礎道路網絡的每個鏈接和一個OD對的詳細信息(節點緯度和經度,道路鏈接長度和唯一ID)作為輸入。

當然,您可以限制需要加載的道路網絡的數量。 不需要所有4091065的鏈接-如果您從特魯羅到倫敦,最短的路線不太可能繞過約克。

因此,您可以編寫一個預處理程序來確定給定OD對所需的路網子集,然后將其加載為所需的格式(可以選擇將其存儲在'* .mat中,而不是只有一個文件)。文件或其他某種格式(如果您想在相同數據上嘗試使用該算法的幾種變體)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM