[討論] matlab預先配置零矩陣的大小?已回收

看板MATLAB作者 (小潔寶)時間14年前 (2011/04/29 15:31), 編輯推噓0(006)
留言6則, 4人參與, 最新討論串1/1
這陣子在跑matlab 因為矩陣大小跟我模擬的參數(b)之一有關 我目前跑的b設成3 矩陣大小是(3+1)^6*(3+1)^6 也就是4096*4096 當我把b加一 也就是矩陣大小變成(5^6)*(5^6)=15625*15625 在前幾行的a=zeros(((b+1)^6),((b+1)^6)); 就會跑出 ???out of memory... 的警告 我想問一下 當我在預先配置零矩陣放值的時候 最大真的就這樣嗎... 因為模擬希望b值能越大越好 :'( -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.117.164.26

04/29 16:58, , 1F
0很多的話可以用sparse
04/29 16:58, 1F

05/01 03:44, , 2F
沒辦法硬幹,你在程式設計上必須分段處理,稀疏矩陣可以考慮
05/01 03:44, 2F

05/01 03:44, , 3F
但最終你必須找出分段處理的法則才是正解
05/01 03:44, 3F

05/01 19:23, , 4F
我是一開始在寫預先配置零矩陣放值的時候就發生問題耶
05/01 19:23, 4F

05/01 19:24, , 5F
後面值出來之後放入零矩陣,接著做矩陣運算有用sparse :'(
05/01 19:24, 5F

05/03 19:01, , 6F
不然不要用double呢? a=zeros(x,x,'int8') 能接受嗎?
05/03 19:01, 6F
文章代碼(AID): #1Dkcb6F2 (MATLAB)