[问题] 如何依照条件让矩阵存值?(以解决)

楼主: 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