Манхэттенская функция веса расстояния
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))