about summary refs log tree commit diff
path: root/sourcecodes/bnt-master/netlab3.3/rbfsetfw.m
diff options
context:
space:
mode:
authorziejd22018-03-14 23:23:33 -0500
committerGitHub2018-03-14 23:23:33 -0500
commit1ff6baa44e22b91eefb48aea6f3befa078c0489b (patch)
treee0fd79d2e32fd2aedda2eadaed0f19af3514c520 /sourcecodes/bnt-master/netlab3.3/rbfsetfw.m
parent6882395afdadf4e982b25b5215071a0932730950 (diff)
parentc80226899f5cdd9f11c163817d59445213f5bef0 (diff)
downloadBNW-1ff6baa44e22b91eefb48aea6f3befa078c0489b.tar.gz
Merge pull request #1 from ziejd2/octave_php_separate
Octave php separate
Diffstat (limited to 'sourcecodes/bnt-master/netlab3.3/rbfsetfw.m')
-rw-r--r--sourcecodes/bnt-master/netlab3.3/rbfsetfw.m30
1 files changed, 30 insertions, 0 deletions
diff --git a/sourcecodes/bnt-master/netlab3.3/rbfsetfw.m b/sourcecodes/bnt-master/netlab3.3/rbfsetfw.m
new file mode 100644
index 00000000..8ed27605
--- /dev/null
+++ b/sourcecodes/bnt-master/netlab3.3/rbfsetfw.m
@@ -0,0 +1,30 @@
+function net = rbfsetfw(net, scale)
+%RBFSETFW Set basis function widths of RBF.
+%
+%	Description
+%	NET = RBFSETFW(NET, SCALE) sets the widths of the basis functions of
+%	the RBF network NET. If Gaussian basis functions are used, then the
+%	variances are set to the largest squared distance between centres if
+%	SCALE is non-positive and SCALE times the mean distance of each
+%	centre to its nearest neighbour if SCALE is positive.  Non-Gaussian
+%	basis functions do not have a width.
+%
+%	See also
+%	RBFTRAIN, RBFSETBF, GMMEM
+%
+
+%	Copyright (c) Ian T Nabney (1996-2001)
+
+% Set the variances to be the largest squared distance between centres
+if strcmp(net.actfn, 'gaussian')
+   cdist = dist2(net.c, net.c);
+   if scale > 0.0
+      % Set variance of basis to be scale times average
+      % distance to nearest neighbour
+      cdist = cdist + realmax*eye(net.nhidden);
+      widths = scale*mean(min(cdist));
+   else
+      widths = max(max(cdist));
+   end
+   net.wi = widths * ones(size(net.wi));
+end