Manhattan distance weight function
Z = mandist(W,P)
D = mandist(pos)
mandist
is the Manhattan distance weight function. Weight functions
apply weights to an input to get weighted inputs.
Z = mandist(W,P)
takes these inputs,
W |
|
P |
|
and returns the S
-by-Q
matrix of vector
distances.
mandist
is also a layer distance function, which can be used to find the
distances between neurons in a layer.
D = mandist(pos)
takes one argument,
pos |
|
and returns the S
-by-S
matrix of distances.
Here you define a random weight matrix W
and input vector
P
and calculate the corresponding weighted input
Z
.
W = rand(4,3); P = rand(3,1); Z = mandist(W,P)
Here you define a random matrix of positions for 10 neurons arranged in three-dimensional space and then find their distances.
pos = rand(3,10); D = mandist(pos)
To change a network so an input weight uses mandist
, set
net.inputWeights{i,j}.weightFcn
to 'mandist'
. For a layer
weight, set net.layerWeights{i,j}.weightFcn
to
'mandist'
.
To change a network so a layer’s topology uses mandist
, set
net.layers{i}.distanceFcn
to 'mandist'
.
In either case, call sim
to simulate the network with
dist
. See newpnn
or newgrnn
for simulation examples.
The Manhattan distance D
between two vectors X
and
Y
is
D = sum(abs(x-y))