考虑二维的常规方格。在相邻的网格点之间,我需要存储一个数字。基本上,我正在存储边缘权重。在MATLAB中这样做的最佳方法是什么,这样如果我调出一个网格点,它将产生相邻边的权重。边缘是无向的,例如,(0,0)处的上边缘与(0,1)处的下边缘具有相同的值。谢谢!
答案 0 :(得分:0)
您可以将值分配给矩阵,然后使用ceil(index + 0.5)获得最高值,使用floor(index + 0.5)获得最低值
例如,要找到第3行和第4行之间的值:
单元格3的顶部是ceil(3 + 0.5)= ceil(3.5)= 4。 单元格4的底部是地板(4 + 0.5)=地板(4.5)= 4
你可能最好写两个函数,比如
function value=topval(index)
ceil(index+0.5);
end
function value=botval(index)
floor(index+0.5);
end
如果您想要左/右边框值,您可以编写类似的功能。