Хранение веса с квадратной сеткой в ​​MATLAB - PullRequest
0 голосов
/ 31 марта 2011

Рассмотрим обычную квадратную сетку в двух измерениях. Между соседними точками сетки мне нужно хранить число. По сути, я храню граничные веса. Как лучше всего это сделать, скажем в MATLAB, чтобы, если я вызову точку сетки, она получала веса смежных ребер. Ребра являются ненаправленными, поэтому, например, верхний край в (0,0) имеет то же значение, что и нижний край в (0,1). Спасибо!

1 Ответ

0 голосов
/ 31 марта 2011

Вы можете присвоить значение матрице, а затем получить верхнее значение с помощью ceil (индекс + 0,5) и нижнее значение с полом (индекс + 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

Если вы хотите левую / правую границузначения вы можете написать аналогичные функции.

...