Функция веса расстояния Манхэттена
Z = mandist(W,P)
D = mandist(pos)
mandist
- функция веса расстояния Манхэттена. Весовые функции применяют веса к входу, чтобы получить взвешенные входы.
Z = mandist(W,P)
принимает эти входы,
W |
|
P |
|
и возвращает S
-by- Q
матрица вектора расстояний.
mandist
является также функцией расстояния между слоями, которая может использоваться, чтобы найти расстояния между нейронами в слое.
D = mandist(pos)
принимает один аргумент,
pos |
|
и возвращает S
-by- S
матрица расстояний.
Здесь вы задаете матрицу случайного веса W
и входной вектор P
и вычислите соответствующий взвешенный вход Z
.
W = rand(4,3); P = rand(3,1); Z = mandist(W,P)
Здесь вы задаете случайную матрицу положений для 10 нейронов, расположенных в 3-мерном пространстве, и затем находите их расстояния.
pos = rand(3,10); D = mandist(pos)
Чтобы изменить сеть, чтобы вес входа использовал mandist
, задать net.inputWeights{i,j}.weightFcn
на 'mandist'
. Для веса слоя задайте net.layerWeights{i,j}.weightFcn
на 'mandist'
.
Чтобы изменить сеть, чтобы топология слоя использовала mandist
, задать net.layers{i}.distanceFcn
на 'mandist'
.
В любом случае звоните sim
чтобы симулировать сеть с dist
. Посмотрите newpnn
или newgrnn
для примеров симуляции.
Расстояние по Манхэттену D
между двумя векторами X
и Y
является
D = sum(abs(x-y))