Advertisement
Guest User

Untitled

a guest
Jan 22nd, 2018
95
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
MatLab 2.07 KB | None | 0 0
  1. close all;
  2. clear all;
  3. clc;
  4. f0=10; % Signalo daznis, kuris bus aproksimuojamas
  5. x1=[0.1:1/60:1];
  6. x2=[1:1/60:1];
  7. harm1 = cos(pi*x1);
  8. harm2 = sin(x2);
  9. signa2 = harm1 + harm2;
  10. harm3 = cos(x1+x2);
  11. T = signa2 + harm3+ 3.5; %funkcija
  12.  
  13. plot(x1,T)
  14. % Svorio koeficientai
  15. w11=randn(1);
  16. w12=randn(1);
  17. w13=randn(1);
  18. w14=randn(1);
  19. w15=randn(1);
  20. w16=randn(1);
  21. w17=randn(1);
  22. w18=randn(1);
  23.  
  24. w21=randn(1);
  25. w22=randn(1);
  26. w23=randn(1);
  27. w24=randn(1);
  28.  
  29. w31=randn(1);
  30. w32=randn(1);
  31.  
  32.  
  33.  
  34.  
  35. b11=0.15;
  36. b12=0.15;
  37. b13=0.15;
  38. b14=0.15;
  39. b21=0.15;
  40. b22=0.15;
  41. b3=0.15;
  42.  
  43.  
  44. nu = .2;
  45. for j = 1:100
  46.     for indx = 1:numel(x1)
  47.         y11=w11*x1+w15*x2+b11;
  48.         y12=w12*x1+w16*x2+b12;
  49.         y13=w13*x1+w17*x2+b13;
  50.         y14=w14*x1+w18*x2+b14;
  51.         y21=1./(1+exp(-(w21*y11(indx)+w22*y12*+b21)));
  52.         y22=1./(1+exp(-(w23*y11(indx)+w24*y12*+b22)));
  53.        
  54.  
  55.         y3=1./(1+exp(-(w31*y21(indx)+w32*y22(indx)*+b3)))
  56.         e = T(indx) - y3;
  57.      
  58.  
  59.         Delta = e;
  60.         w11 = w11 + nu*Delta*y11;
  61.         w12 = w12 + nu*Delta*y12;
  62.         w13 = w13 + nu*Delta*y13;
  63.         w14 = w14 + nu*Delta*y14;
  64.         w15 = w15 + nu*Delta*y11;
  65.         w16 = w16 + nu*Delta*y12;
  66.         w17 = w17 + nu*Delta*y13;
  67.         w18 = w18 + nu*Delta*y14;
  68.        
  69.         w21 = w21 + nu*y21*(1-y21)*Delta*w21;
  70.         w22 = w22 + nu*y22*(1-y22)*Delta*w22;
  71.         w23 = w23 + nu*y21*(1-y23)*Delta*w23;
  72.         w24 = w24 + nu*y22*(1-y24)*Delta*w22;
  73.        
  74.         w31 = w31 + nu*y3*(1-y3)*Delta*w31;
  75.         w32 = w32 + nu*y3*(1-y3)*Delta*w32;
  76.        
  77.        
  78.     end
  79. end
  80.  
  81.  
  82. y3 = zeros(1,numel(x));
  83. for indx = 1:numel(x)
  84.         y11=w11*x1+w15*x2+b11;
  85.         y12=w12*x1+w16*x2+b12;
  86.         y13=w13*x1+w17*x2+b13;
  87.         y14=w14*x1+w18*x2+b14;
  88.         y21=1./(1+exp(-(w21*y11(indx)+w22*y12*+b21)));
  89.         y22=1./(1+exp(-(w23*y11(indx)+w24*y12*+b22)));
  90.        
  91.  
  92.         y3=1./(1+exp(-(w31*y21(indx)+w32*y22(indx)*+b3)))
  93. end
  94.  
  95. figure('Name','Pradiniai duomenys','NumberTitle','off');
  96. plot(x1,T, x1,y3);%'kx');
  97. xlabel('x_{[0.1...1]}');
  98. ylabel('T(x)');
  99. grid on;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement