【发布时间】:2011-03-31 19:54:43
【问题描述】:
考虑一个二维的普通方形网格。在相邻的网格点之间,我需要存储一个数字。本质上,我正在存储边缘权重。最好的方法是什么,比如在 MATLAB 中,这样如果我调用一个网格点,它将产生相邻边的权重。边缘是无向的,例如,(0,0) 处的上边缘与 (0,1) 处的下边缘具有相同的值。谢谢!
【问题讨论】:
考虑一个二维的普通方形网格。在相邻的网格点之间,我需要存储一个数字。本质上,我正在存储边缘权重。最好的方法是什么,比如在 MATLAB 中,这样如果我调用一个网格点,它将产生相邻边的权重。边缘是无向的,例如,(0,0) 处的上边缘与 (0,1) 处的下边缘具有相同的值。谢谢!
【问题讨论】:
您可以将值分配给矩阵,然后使用 ceil(index+0.5) 获取顶部值,使用 floor(index+0.5) 获取底部值
例如查找第 3 行和第 4 行之间的值:
单元格 3 的顶部将是 ceil(3+0.5)=ceil(3.5)=4。 单元格 4 的底部为 floor(4+0.5)=floor(4.5)=4
你最好写两个函数
function value=topval(index)
ceil(index+0.5);
end
function value=botval(index)
floor(index+0.5);
end
如果你想要左/右边框值,你可以编写类似的函数。
【讨论】: