Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Parcial 1 Informe Red Neuronal Adaline
Parcial 1 Informe Red Neuronal Adaline
I.
de
dar
INTRODUCCIN
tiempo,
ser
capaz
predicciones exactas.
y= wi xi +(1)
i=1
w i ( t+ 1 )=w i ( t ) + e p x i (2)
Como se observa en la ecuacin 2 se puede
observar cmo se va actualizando el peso
futuro con el peso actual y el error entre la
diferencia de la seal deseada y la seal
II.
ANALISIS Y RESULTADOS
OBTENIDOS
F ( s )=
s +10
s +4 s +13
2
float y_K_1=0;
float D;
float alfa=0.01;
int la=1;
float
HiddenWeights[HiddenNodes]
[InputNodes+1]= {
{-0.5, 0.5,0.5,0.5,0}
En la anterior imagen se logra observar dos
seales la azul es la salida de la red entrenada
en arduino, la cual fue enviada por puerto
serial, para observar y ver que la red estaba
entrenando tambin se grafica la seal
deseada
A continuacin se presenta el cdigo creado
en arduino:
};
/
************************************
******************************
* End Network Configuration
************************************
******************************/
int i, j, k;
#include <math.h>
float Accum;
float Hidden[HiddenNodes];
/
************************************
******************************
float Input[InputNodes][PatternCount];
float ssalida;
************************************
******************************/
const int PatternCount =1;
const int HiddenNodes = 1;
const int InputNodes = 4;
int pere=0;
int esta=1;
float out[601];
float u_K=0;
float y_K=0;
float u_K_1=0;
int cont=0;
float
-2.8,
-2.8,
-2.8,
-2.8,
-2.8,
-2.8,
-2.8,
-2.8,
-2.8,
-2.8,
-2.8,
-2.8,
-2.8,
-2.8,
-4.5,
-4.5,
-4.5,
entrada[601]={ -2.8,
-2.8, -2.8, -2.8,
-2.8, -2.8, -2.8,
-2.8, -2.8, -2.8,
-2.8, -2.8, -2.8,
-2.8, -2.8, -2.8,
-2.8, -2.8, -2.8,
-2.8, -2.8, -2.8,
-2.8, -2.8, -2.8,
-2.8, -2.8, -2.8,
-2.8, -2.8, -2.8,
-2.8, -2.8, -2.8,
-2.8, -2.8, -2.8,
-2.8, -2.8, -2.8,
-2.8, -2.8, -2.8,
-4.5, -4.5, -4.5,
-4.5, -4.5, -4.5,
-4.5, -4.5, -4.5,
-2.8,
-2.8,
-2.8,
-2.8,
-2.8,
-2.8,
-2.8,
-2.8,
-2.8,
-2.8,
-2.8,
-2.8,
-2.8,
-2.8,
-2.8,
-4.5,
-4.5,
-4.5,
-2.8,
-2.8,
-2.8,
-2.8,
-2.8,
-2.8,
-2.8,
-2.8,
-2.8,
-2.8,
-2.8,
-2.8,
-2.8,
-2.8,
-4.5,
-4.5,
-4.5,
-4.5,
-2.8,
-2.8,
-2.8,
-2.8,
-2.8,
-2.8,
-2.8,
-2.8,
-2.8,
-2.8,
-2.8,
-2.8,
-2.8,
-2.8,
-4.5,
-4.5,
-4.5,
-4.5,
-1.2,
-1.2,
-1.2,
-1.2,
-1.2,
-1.2,
-1.2,
-1.2,
-1.2,
-1.2,
-1.2,
-1.2,
-1.2,
-1.2,
-1.2,
-1.2,
-1.2,
-1.2,
-1.2,
-1.2,
-1.2,
-1.2,
-1.2,
-1.2,
float
-1.6,
-2.44,
-2.17,
-2.13,
-2.16,
-2.16,
-2.16,
-2.16,
-2.16,
-2.16,
-2.16,
-2.16,
-2.16,
-2.16,
-2.16,
-2.16,
-2.16,
-3.48,
-3.6,
-3.47,
-3.48,
-3.49,
-3.48,
-3.48,
-3.48,
-3.48,
-3.48,
-3.48,
-3.48,
-3.48,
-3.48,
-3.48,
-1.2,
-1.2,
-1.2,
-1.2,
-1.2,
-1.2,
-1.2,
-1.2,
-1.2,
-1.2,
-1.2,
-1.2,
-1.2, -1.2,
-1.2, -1.2,
-1.2, -1.2,
-1.2, -1.2,
-1.2, -1.2,
-1.2, -1.2,
-1.2, -1.2,
-1.2, -1.2,
-1.2, -1.2,
-1.2, -1.2,
-1.2, -1.2,
-1.2, 0.2, };
salida[601]={0, -0.35,
-1.92, -2.16, -2.32,
-2.41, -2.36, -2.3,
-2.15, -2.14, -2.13,
-2.14, -2.15, -2.15,
-2.17, -2.17, -2.17,
-2.16, -2.16, -2.16,
-2.16, -2.16, -2.16,
-2.16, -2.16, -2.16,
-2.16, -2.16, -2.16,
-2.16, -2.16, -2.16,
-2.16, -2.16, -2.16,
-2.16, -2.16, -2.16,
-2.16, -2.16, -2.16,
-2.16, -2.16, -2.16,
-2.16, -2.16, -2.16,
-2.16, -2.16, -2.16,
-2.38, -2.64, -2.9,
-3.58, -3.64, -3.66,
-3.57, -3.54, -3.51,
-3.46, -3.46, -3.46,
-3.48, -3.48, -3.48,
-3.49, -3.49, -3.49,
-3.48, -3.48, -3.48,
-3.48, -3.48, -3.48,
-3.48, -3.48, -3.48,
-3.48, -3.48, -3.48,
-3.48, -3.48, -3.48,
-3.48, -3.48, -3.48,
-3.48, -3.48, -3.48,
-3.48, -3.48, -3.48,
-3.48, -3.48, -3.48,
-3.48, -3.48, -3.48,
-1.2,
-1.2,
-1.2,
-1.2,
-1.2,
-1.2,
-1.2,
-1.2,
-1.2,
-1.2,
-1.2,
-0.77,
-2.41,
-2.25,
-2.13,
-2.16,
-2.17,
-2.16,
-2.16,
-2.16,
-2.16,
-2.16,
-2.16,
-2.16,
-2.16,
-2.16,
-2.16,
-2.16,
-3.14,
-3.66,
-3.49,
-3.47,
-3.49,
-3.49,
-3.48,
-3.48,
-3.48,
-3.48,
-3.48,
-3.48,
-3.48,
-3.48,
-3.48,
-3.48,
-1.2,
-1.2,
-1.2,
-1.2,
-1.2,
-1.2,
-1.2,
-1.2,
-1.2,
-1.2,
-1.2,
-1.21,
-2.45,
-2.21,
-2.13,
-2.16,
-2.16,
-2.16,
-2.16,
-2.16,
-2.16,
-2.16,
-2.16,
-2.16,
-2.16,
-2.16,
-2.16,
-2.16,
-3.34,
-3.63,
-3.48,
-3.47,
-3.49,
-3.49,
-3.48,
-3.48,
-3.48,
-3.48,
-3.48,
-3.48,
-3.48,
-3.48,
-3.48,
-3.48,
-3.48,
-1.74,
1.94,
1.48,
1.33,
1.38,
1.38,
1.37,
1.38,
1.38,
1.38,
1.38,
1.38,
1.38,
1.38,
1.38,
1.38,
1.38,
1.38,
1.38,
1.38,
1.38,
1.38,
1.38,
1.38,
1.38,
1.38,
1.38,
1.38,
1.38,
1.38,
1.38,
1.38,
1.38,
2.83,
3.57,
3.33,
3.33,
3.35,
3.35,
3.34,
3.34,
3.34,
3.34,
3.34,
3.34,
3.34,
-2.7,
1.74,
1.58,
1.31,
1.38,
1.38,
1.37,
1.38,
1.38,
1.38,
1.38,
1.38,
1.38,
1.38,
1.38,
1.38,
1.38,
1.38,
1.38,
1.38,
1.38,
1.38,
1.38,
1.38,
1.38,
1.38,
1.38,
1.38,
1.38,
1.38,
1.38,
1.38,
1.38,
2.48,
3.6,
3.36,
3.32,
3.35,
3.35,
3.34,
3.34,
3.34,
3.34,
3.34,
3.34,
3.34,
3.34,
void setup(){
//start serial connection
Serial.begin(9600);
}
void loop(){
cont++;
pere++;
u_K=entrada[cont-1];
y_K=salida[cont-1];
Input[0][0]=y_K;
Input[1][0]=y_K_1;
Input[2][0]=u_K;
3.34,
3.34,
3.34,
-0.9,
-1.28,
-0.84,
-0.87,
-0.9,
-0.9,
-0.9,
-0.9,
-0.9,
-0.9,
-0.9,
-0.9,
-0.9,
-0.9,
Input[3][0]=u_K;
D=salida[cont];
while (pere==601){
cont=0;
/
************************************
******************************
pere=0;
************************************
******************************/
for( i = 0 ; i < HiddenNodes ; i++ ) {
la++;
if (la==20){
Serial.print(ssalida);
Serial.print("\n");
Accum = HiddenWeights[i][InputNodes] ;
for( j = 0 ; j < InputNodes ; j++ ) {
Accum += HiddenWeights[i][j]*Input[j]
[0];
}
Hidden[i] = Accum;
ssalida=Hidden[0];
}
while(la>20){
}
}
HiddenWeights[0][0]=HiddenWeights[0]
[0]+alfa*(D-ssalida)*y_K;
HiddenWeights[0][1]=HiddenWeights[0]
[1]+alfa*(D-ssalida)*y_K_1;
HiddenWeights[0][2]=HiddenWeights[0]
[2]+alfa*(D-ssalida)*u_K;
HiddenWeights[0][3]=HiddenWeights[0]
[3]+alfa*(D-ssalida)*u_K_1;
HiddenWeights[0][4]=0;
u_K_1=u_K;
y_K_1=y_K;
PatternCount =1;
HiddenNodes = 1;
InputNodes = 4;
pere=0;
u_K=0;
y_K=0;
u_K_1=0;
y_K_1=0;
D=zeros(1,601);
alfa=0.01;
HiddenWeights=[-0.5; 0.5; 0.5;
0.5];
Input=[InputNodes,PatternCount];
cont=1;
entrada=[-2.8,
-2.8,
-2.8,
-2.8,
-2.8,
-2.8,
-2.8,
-2.8,
-2.8,
-2.8,
-2.8,
-2.8,
-2.8,
-2.8,
-2.8,
-2.8,
-2.8,
-2.8,
-2.8,
-2.8,
-2.8,
-2.8,
-2.8,
-2.8,
-2.8,
-2.8,
-2.8,
-2.8,
-2.8,
-2.8,
-2.8,
-2.8,
-2.8,
-2.8,
-2.8,
-2.8,
-2.8,
-2.8,
-2.8,
-2.8,
-2.8,
-2.8,
-2.8,
-2.8,
-2.8,
-2.8,
-2.8,
-2.8,
-2.8,
-2.8,
-4.5,
-4.5,
-4.5,
-4.5,
-4.5,
-4.5,
-4.5,
-4.5,
-4.5,
-4.5,
-4.5,
-4.5,
-4.5,
-4.5,
-4.5,
-4.5,
-4.5,
-4.5,
-4.5,
-4.5,
-4.5,
-4.5,
-4.5,
-4.5,
-4.5,
-4.5,
-4.5,
-4.5,
-4.5,
-4.5,
-4.5,
-4.5,
-4.5,
-4.5,
-4.5,
-4.5,
-4.5,
-2.8,
-2.8,
-2.8,
-2.8,
-2.8,
-2.8,
-2.8,
-2.8,
-2.8,
-2.8,
-2.8,
-2.8,
-2.8,
-2.8,
-2.8,
-2.8,
-2.8,
-2.8,
-2.8,
-2.8,
-2.8,
-2.8,
-2.8,
-2.8,
-2.8,
-4.5,
-4.5,
-4.5,
-4.5,
-4.5,
-4.5,
-4.5,
-4.5,
-4.5,
-4.5,
-4.5,
-4.5,
-4.5,
-4.5,
-4.5,
-4.5,
-4.5,
-4.5,
-4.5,
-2.8,
-2.8,
-2.8,
-2.8,
-2.8,
-2.8,
-2.8,
-2.8,
-2.8,
-2.8,
-2.8,
-2.8,
-2.8,
-2.8,
-2.8,
-2.8,
-2.8,
-2.8,
-2.8,
-2.8,
-2.8,
-2.8,
-2.8,
-2.8,
-2.8,
-4.5,
-4.5,
-4.5,
-4.5,
-4.5,
-4.5,
-4.5,
-4.5,
-4.5,
-4.5,
-4.5,
-4.5,
-4.5,
-4.5,
-4.5,
-4.5,
-4.5,
-4.5,
-4.5,
-4.5,
-4.5,
-4.5,
-4.5,
-4.5,
-4.5,
-4.5,
1.8,
1.8,
1.8,
1.8,
1.8,
1.8,
1.8,
1.8,
1.8,
1.8,
1.8,
1.8,
1.8,
1.8,
1.8,
1.8,
1.8,
1.8,
1.8,
1.8,
1.8,
1.8,
1.8,
1.8,
1.8,
1.8,
1.8,
1.8,
1.8,
1.8,
1.8,
1.8,
1.8,
1.8,
1.8,
1.8,
1.8,
1.8,
1.8,
1.8,
4.3,
4.3,
4.3,
4.3,
4.3,
4.3,
4.3,
4.3,
4.3,
4.3,
-4.5,
-4.5,
-4.5,
-4.5,
-4.5,
-4.5,
-4.5,
-4.5,
-4.5,
-4.5,
-4.5,
-4.5,
-4.5,
-4.5,
-4.5,
-4.5,
-4.5,
-4.5,
1.8, 1.8, 1.8, 1.8,
1.8, 1.8, 1.8, 1.8,
1.8, 1.8, 1.8, 1.8,
1.8, 1.8, 1.8, 1.8,
1.8, 1.8, 1.8, 1.8,
1.8, 1.8, 1.8, 1.8,
1.8, 1.8, 1.8, 1.8,
1.8, 1.8, 1.8, 1.8,
1.8, 1.8, 1.8, 1.8,
1.8, 1.8, 1.8, 1.8,
1.8, 1.8, 1.8, 1.8,
1.8, 1.8, 1.8, 1.8,
1.8, 1.8, 1.8, 1.8,
1.8, 1.8, 1.8, 1.8,
1.8, 1.8, 1.8, 1.8,
1.8, 1.8, 1.8, 1.8,
1.8, 1.8, 1.8, 1.8,
1.8, 1.8, 1.8, 1.8,
1.8, 1.8, 1.8, 1.8,
1.8, 1.8, 1.8, 1.8,
1.8, 1.8, 1.8, 1.8,
1.8, 1.8, 1.8, 1.8,
1.8, 1.8, 1.8, 1.8,
1.8, 1.8, 1.8, 1.8,
1.8, 1.8, 1.8, 1.8,
1.8, 1.8, 1.8, 1.8,
1.8, 1.8, 1.8, 1.8,
1.8, 1.8, 1.8, 1.8,
1.8, 1.8, 1.8, 1.8,
1.8, 1.8, 1.8, 1.8,
1.8, 1.8, 1.8, 1.8,
1.8, 1.8, 1.8, 1.8,
1.8, 1.8, 1.8, 1.8,
1.8, 1.8, 1.8, 1.8,
1.8, 1.8, 1.8, 1.8,
1.8, 1.8, 1.8, 1.8,
1.8, 1.8, 1.8, 1.8,
1.8, 1.8, 1.8, 1.8,
1.8, 1.8, 1.8, 1.8,
1.8, 1.8, 1.8, 1.8,
4.3, 4.3, 4.3, 4.3,
4.3, 4.3, 4.3, 4.3,
4.3, 4.3, 4.3, 4.3,
4.3, 4.3, 4.3, 4.3,
4.3, 4.3, 4.3, 4.3,
4.3, 4.3, 4.3, 4.3,
4.3, 4.3, 4.3, 4.3,
4.3, 4.3, 4.3, 4.3,
4.3, 4.3, 4.3, 4.3,
4.3, 4.3, 4.3, 4.3,
4.3, 4.3, 4.3, 4.3,
4.3,
4.3,
4.3,
4.3,
4.3,
4.3,
4.3,
4.3,
4.3,
4.3,
-1.2,
-1.2,
-1.2,
-1.2,
-1.2,
-1.2,
-1.2,
-1.2,
-1.2,
-1.2,
-1.2,
-1.2,
-1.2,
-1.2,
-1.2,
-1.2,
-1.2,
-1.2,
-1.2,
-1.2,
-1.2,
-1.2,
-1.2,
-1.2,
-1.2,
1.38,
1.38,
1.38,
1.38,
1.38,
1.38,
1.38,
1.38,
1.38,
1.38,
1.38,
1.38,
1.38,
1.38,
1.38,
1.38,
1.38,
1.38,
1.38,
1.38,
1.38,
1.38,
1.38,
1.38,
1.38,
1.38,
1.38,
1.38,
1.38,
1.38,
1.38,
1.38,
1.38,
1.38,
1.38,
1.38,
1.38,
1.38,
1.38,
1.38,
1.38,
1.38,
1.38,
1.38,
1.38,
1.38,
1.38,
1.38,
1.38,
1.38,
1.38,
1.38,
1.38,
1.38,
1.38,
1.38,
1.38,
1.38,
1.38,
1.38,
1.38,
1.38,
1.38,
1.38,
1.38,
1.38,
1.38,
1.38,
1.38,
1.38,
1.38,
1.38,
1.38,
1.38,
1.38,
1.38,
1.38,
1.38,
1.38,
1.38,
1.38,
1.38,
1.38,
1.38,
1.38,
1.38,
1.38,
1.38,
1.7, 2.08,
2.48,
2.83,
3.12,
3.34,
3.49,
3.57,
3.61,
3.6, 3.57,
3.52,
3.47,
3.43,
3.39,
3.36,
3.33,
3.32,
3.31,
3.31,
3.31,
3.32,
3.33,
3.33,
3.34,
3.34,
3.34,
3.35,
3.35,
3.35,
3.35,
3.35,
3.35,
3.35,
3.35,
3.34,
3.34,
3.34,
3.34,
3.34,
3.34,
3.34,
3.34,
3.34,
3.34,
3.34,
3.34,
3.34,
3.34,
3.34,
3.34,
3.34,
3.34,
3.34,
3.34,
3.34,
3.34,
3.34,
3.34,
3.34,
3.34,
3.34,
3.34,
3.34,
3.34,
3.34,
3.34,
3.34,
3.34,
3.34,
3.34,
3.34,
3.34,
3.34,
3.34,
3.34,
3.34,
3.34,
3.34,
3.34,
3.34,
3.34,
3.34,
3.34,
3.34,
3.34,
3.34,
3.34,
3.34,
3.34,
3.34,
3.34,
3.34,
3.34,
3.34,
3.34,
3.34,
3.34,
3.34,
3.34,
2.66,
1.82,
0.98,
0.21,
-0.42, -0.9,
-1.21, -1.39,
-1.46, -1.45, -1.38, -1.28,
-1.18, -1.07, -0.99, -0.92,
-0.87, -0.84, -0.83, -0.83,
-0.83, -0.84, -0.86, -0.87,
-0.88, -0.89, -0.9,
-0.9,
-0.9,
-0.9,
-0.9,
-0.9,
-0.9,
-0.9,
-0.9,
-0.9,
-0.9,
-0.9,
-0.9,
-0.9,
-0.9,
-0.9,
-0.9,
-0.9,
-0.9,
-0.9,
-0.9,
-0.9,
-0.9,
-0.9,
-0.9,
-0.9,
-0.9,
-0.9,
-0.9,
-0.9,
-0.9,
-0.9,
-0.9,
-0.9,
-0.9,
-0.9,
-0.9,
-0.9,
-0.9,
-0.9,
-0.9,
-0.9,
-0.9,
-0.9,
-0.9,
-0.9,
-0.9,
-0.9,
-0.9,
-0.9,
-0.9,
-0.9,
-0.9,
-0.9,
-0.9,
-0.9,
-0.9,
-0.9,
-0.9,
-0.9,
-0.9,
-0.9,
-0.9,
-0.9,
-0.9,
-0.9,
-0.9,
-0.9,
-0.9,
-0.9,
-0.9,
-0.9,
-0.9,
-0.9];
while 1
cont=cont+1;
u_K=entrada(cont-1);
y_K=salida(cont-1);
Input=[y_K,y_K_1,u_K,u_K_1];
D=salida(cont);
yneta=Input*HiddenWeights;
neta(cont)=yneta;
HiddenWeights(1)=
HiddenWeights(1)+alfa*(Dyneta)*y_K;
HiddenWeights(2)=
HiddenWeights(2)+alfa*(Dyneta)*y_K_1;
HiddenWeights(3)=
HiddenWeights(3)+alfa*(Dyneta)*u_K;
HiddenWeights(4)=
HiddenWeights(4)+alfa*(Dyneta)*u_K_1;
u_K_1=u_K;
y_K_1=y_K;
if (cont>=601)
cont=1;
pere=pere+1;
end
if (pere>=3)
w1=HiddenWeights(1);
w2=HiddenWeights(2);
w3=HiddenWeights(3);
w4=HiddenWeights(4);
break
end
end
III.
CONCLUSIONES