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