Швидкість збіжності алгоритму навчання нейрона в залежності від вибору нормуючого множника, Детальна інформація
Швидкість збіжності алгоритму навчання нейрона в залежності від вибору нормуючого множника
Function Kut(x:Comp):Double;
Implementation
Procedure PKNSO(N:LongInt; Var k:Comp);
Var c:Comp;
Begin
c.a:=Cos(2*Pi/N);
c.b:=Sin(2*Pi/N);
k:=c;
End;
Function Kut(x:Comp):Double;
Var b:Boolean;
c:Double;
Begin
b:=False;
If (x.a=0) and (x.b=0) Then Begin c:=0; b:=True; End;
If (x.a>0) and (x.b=0) Then Begin c:=0; b:=True; End;
If (x.a<0) and (x.b=0) Then Begin c:=Pi; b:=True; End;
If (x.a=0) and (x.b>0) Then Begin c:=Pi/2; b:=True; End;
If (x.a=0) and (x.b<0) Then Begin c:=3*Pi/2; b:=True; End;
If Not b Then c:=arctan(x.b/x.a);
If x.a<0 Then c:=c+Pi;
If c<0 Then c:=2*Pi+c;
Kut:=c;
End;
Procedure ToStep(N:LongInt; x:Comp; Var R:Comp);
Var k1:Double;
Begin
k1:=Kut(x);
r.a:=cos(N*k1);
r.b:=sin(N*k1);
Implementation
Procedure PKNSO(N:LongInt; Var k:Comp);
Var c:Comp;
Begin
c.a:=Cos(2*Pi/N);
c.b:=Sin(2*Pi/N);
k:=c;
End;
Function Kut(x:Comp):Double;
Var b:Boolean;
c:Double;
Begin
b:=False;
If (x.a=0) and (x.b=0) Then Begin c:=0; b:=True; End;
If (x.a>0) and (x.b=0) Then Begin c:=0; b:=True; End;
If (x.a<0) and (x.b=0) Then Begin c:=Pi; b:=True; End;
If (x.a=0) and (x.b>0) Then Begin c:=Pi/2; b:=True; End;
If (x.a=0) and (x.b<0) Then Begin c:=3*Pi/2; b:=True; End;
If Not b Then c:=arctan(x.b/x.a);
If x.a<0 Then c:=c+Pi;
If c<0 Then c:=2*Pi+c;
Kut:=c;
End;
Procedure ToStep(N:LongInt; x:Comp; Var R:Comp);
Var k1:Double;
Begin
k1:=Kut(x);
r.a:=cos(N*k1);
r.b:=sin(N*k1);
The online video editor trusted by teams to make professional video in
minutes
© Referats, Inc · All rights reserved 2021