Main Content


Design exact radial basis network


net = newrbe(P,T,spread)


Radial basis networks can be used to approximate functions. newrbe very quickly designs a radial basis network with zero error on the design vectors.

net = newrbe(P,T,spread) takes two or three arguments,


RxQ matrix of Q R-element input vectors


SxQ matrix of Q S-element target class vectors


Spread of radial basis functions (default = 1.0)

and returns a new exact radial basis network.

The larger the spread is, the smoother the function approximation will be. Too large a spread can cause numerical problems.


Here you design a radial basis network given inputs P and targets T.

P = [1 2 3];
T = [2.0 4.1 5.9];
net = newrbe(P,T);

The network is simulated for a new input.

P = 1.5;
Y = sim(net,P)


newrbe creates a two-layer network. The first layer has radbas neurons, and calculates its weighted inputs with dist and its net input with netprod. The second layer has purelin neurons, and calculates its weighted input with dotprod and its net inputs with netsum. Both layers have biases.

newrbe sets the first-layer weights to P', and the first-layer biases are all set to 0.8326/spread, resulting in radial basis functions that cross 0.5 at weighted inputs of +/– spread.

The second-layer weights IW{2,1} and biases b{2} are found by simulating the first-layer outputs A{1} and then solving the following linear expression:

[W{2,1} b{2}] * [A{1}; ones] = T

Version History

Introduced before R2006a

See Also

| | |