Main Content

gensim

Generar un bloque de Simulink para la simulación de redes neuronales superficiales

Descripción

ejemplo

gensim(net,st) crea un sistema de Simulink® que contiene un bloque que simula una red neuronal net con un tiempo de muestreo de st.

Si net no tiene retardo de entrada o de capa (net.numInputDelays y net.numLayerDelays son ambos 0), puede usar -1 para st y conseguir una red que muestree de forma continua.

gensim no es compatible con redes de deep learning, como las redes convolucionales o LSTM. Para obtener más información sobre la generación de códigos para deep learning, consulte Generación de código.

Para obtener más información sobre gensim, introduzca help network/gensim en la línea de comandos de MATLAB.

Ejemplos

contraer todo

Este ejemplo muestra cómo generar un bloque de Simulink para una red prealimentada.

Cree una red prealimentada usando los datos de un conjunto de datos de ajuste simple y genere el bloque de Simulink.

[x,t] = simplefit_dataset;
net = feedforwardnet(10);
net = train(net,x,t)
gensim(net)

Este ejemplo muestra cómo generar un bloque de Simulink para una red NARX.

Cree una red NARX.

[x,t] = simplenarx_dataset;
net = narxnet(1:2,1:2,20);
view(net)
[xs,xi,ai,ts] = preparets(net,x,{},t);
net = train(net,xs,ts,xi,ai);
y = net(xs,xi,ai);

Convierta la red en un lazo cerrado.

net = closeloop(net);
view(net)

Prepare los datos y simule la respuesta en lazo cerrado de la red.

[xs,xi,ai,ts] = preparets(net,x,{},t);
y = net(xs,xi,ai);

Convierta la red en un sistema de Simulink con puertos de entrada y de salida en el área de trabajo.

[sysName,netName] = gensim(net,'InputMode','Workspace',...
	'OutputMode','WorkSpace','SolverMode','Discrete');

Inicie los estados de retardo. Tenga en cuenta que se trata de un paso importante para obtener la misma salida que en MATLAB®.

setsiminit(sysName,netName,net,xi,ai,1);

Defina la entrada de modelo X1 en el área de trabajo y simule el sistema programáticamente.

x1 = nndata2sim(xs,1,1);
out = sim(sysName,'ReturnWorkspaceOutputs','on','StopTime',num2str(x1.time(end)));
ysim = sim2nndata(out.y1);

Argumentos de entrada

contraer todo

Red de entrada, especificada como un objeto de red. Para crear un objeto de red, use feedforwardnet o narxnet, por ejemplo.

Especifique el tiempo de muestreo como un valor que no sea -1. Para obtener más información, consulte Especificar el tiempo de muestreo (Simulink).

Historial de versiones

Introducido antes de R2006a

Consulte también