MATLAB 中的方形网格边缘权重存储

发布于 2024-10-27 15:20:38 字数 142 浏览 0 评论 0原文

考虑一个常见的二维方形网格。在相邻的网格点之间我需要存储一个数字。本质上,我正在存储边缘权重。最好的方法是什么,比如在 MATLAB 中,如果我调用一个网格点,它将产生相邻边的权重。边缘是无向的,例如,(0,0) 处的上边缘与 (0,1) 处的下边缘具有相同的值。谢谢!

Consider a usual square grid in two dimensions. Between adjacent grid points I need to store a number. Essentially, I'm storing edge weights. What is the best way to do this, say in MATLAB so that if I call up a grid point, it will produce the weights of adjacent edges. The edges are undirected so for example, the upper edge at (0,0) has the same value as the lower edge at (0,1). Thanks!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

柠檬心 2024-11-03 15:20:38

您可以将值分配给矩阵,然后使用 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

如果您想要左/右边框值,您可以编写类似的函数。

You can assign the value to a matrix and then get the top value with ceil(index+0.5) and bottom value with floor(index+0.5)

eg to find the value between rows 3 and 4 :

top of cell 3 would be ceil(3+0.5)=ceil(3.5)=4.
bottom of cell 4 would be floor(4+0.5)=floor(4.5)=4

you are probably best writing two functions like

function value=topval(index)
    ceil(index+0.5);
end

function value=botval(index)
    floor(index+0.5);
end

If you want the left/right border values you can write similar functions.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文