[問題] 如何依照條件讓矩陣存值?(以解決)

作者: zx168zx (zx168zx)   2015-03-29 21:24:38
各位大大好 小弟想請問一下關於矩陣存值的方法
目前我的程式結構大致如下
先決定矩陣的大小
box=[mm,nn,jj,L];
然後進入迴圈
for m=1,L
計算 a
再計算a會落在box的哪裡 x,y,z
然後把a存在box
box(x,y,z,m)=a
end
我的問題是
如果在m=1的迴圈 a的落點 x,y,z 分別是1,1,1
那這個a值會被存在 box(1,1,1,1)
那如果在m=500 的迴圈 a的落點又到 x,y,z=1,1,1
那這個a值就會被存在 box(1,1,1,500)
但這樣好像很佔記憶體 因為要是L很大 這個四維矩陣會很大
我想說有沒有辦法能夠讓 a 的存法變成
第一筆符合x,y,z=1,1,1 的存在box(1,1,1,1)
第二筆符合x,y,z=1,1,1 的存在box(1,1,1,2)
不知道各位大大有沒有甚麼想法可以提供給我參考?
作者: celestialgod (天)   2015-03-29 21:31:00
box=cell(mm, nn, jj); box{1, 1, 1}={box{1, 1, 1}創一個cell,後面是append element to cell因為每一個cell都獨立,所以你可以存不同長度

Links booklink

Contact Us: admin [ a t ] ucptt.com