This is machine translation

Translated by Microsoft
Mouseover text to see original. Click the button below to return to the English verison of the page.

Note: This page has been translated by MathWorks. Please click here
To view all translated materals including this page, select Japan from the country navigator on the bottom of this page.


Design linear layer


net = newlind(P,T,Pi)


net = newlind(P,T,Pi) takes these input arguments,


R-by-Q matrix of Q input vectors


S-by-Q matrix of Q target class vectors


1-by-ID cell array of initial input delay states

where each element Pi{i,k} is an Ri-by-Q matrix, and the default = []; and returns a linear layer designed to output T (with minimum sum square error) given input P.

newlind(P,T,Pi) can also solve for linear networks with input delays and multiple inputs and layers by supplying input and target data in cell array form:


Ni-by-TS cell array

Each element P{i,ts} is an Ri-by-Q input matrix


Nt-by-TS cell array

Each element P{i,ts} is a Vi-by-Q matrix


Ni-by-ID cell array

Each element Pi{i,k} is an Ri-by-Q matrix, default = []

and returns a linear network with ID input delays, Ni network inputs, and Nl layers, designed to output T (with minimum sum square error) given input P.


You want a linear layer that outputs T given P for the following definitions:

P = [1 2 3];
T = [2.0 4.1 5.9];

Use newlind to design such a network and check its response.

net = newlind(P,T);
Y = sim(net,P)

You want another linear layer that outputs the sequence T given the sequence P and two initial input delay states Pi.

P = {1 2 1 3 3 2};
Pi = {1 3};
T = {5.0 6.1 4.0 6.0 6.9 8.0};
net = newlind(P,T,Pi);
Y = sim(net,P,Pi)

You want a linear network with two outputs Y1 and Y2 that generate sequences T1 and T2, given the sequences P1 and P2, with three initial input delay states Pi1 for input 1 and three initial delays states Pi2 for input 2.

P1 = {1 2 1 3 3 2}; Pi1 = {1 3 0};
P2 = {1 2 1 1 2 1}; Pi2 = {2 1 2};
T1 = {5.0 6.1 4.0 6.0 6.9 8.0};
T2 = {11.0 12.1 10.1 10.9 13.0 13.0};
net = newlind([P1; P2],[T1; T2],[Pi1; Pi2]);
Y = sim(net,[P1; P2],[Pi1; Pi2]);
Y1 = Y(1,:)
Y2 = Y(2,:)


newlind calculates weight W and bias B values for a linear layer from inputs P and targets T by solving this linear equation in the least squares sense:

[W b] * [P; ones] = T

See Also

Introduced before R2006a

Was this topic helpful?