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))