Advertisement
Guest User

Untitled

a guest
Jan 26th, 2020
67
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.57 KB | None | 0 0
  1. clear all;
  2. close all;
  3.  
  4.  
  5. %Czesc pierwsza
  6. t=1:1:10000;
  7. z=(randn(size(t)))/10;
  8. a = 0.8;
  9. b = 2.4;
  10. u = ones(size(t));
  11. y = zeros(size(t));
  12.  
  13. for i = 2:length(t)
  14. if i>length(t)/3
  15. y(i) = a*y(i-1) + b*u(i) + z(i);
  16. end
  17. end
  18.  
  19. figure(1);
  20. plot(t,y);
  21. hold on;
  22. grid minor;
  23.  
  24. %Czesc druga
  25. P = 1000*eye(2,2); %Warunek poczatkowy
  26. theta = [0;0]; %Wektor u, y
  27. tmp = 0;
  28. a_wy = [];
  29. b_wy = [];
  30. u2 = rand(size(t)); %Generowanie szumu na wejscie
  31. z2 = randn((size(t))); %Generowanie szumu zaklocajacego
  32. a_wart = [];
  33. b_wart = [];
  34. blad = [];
  35. y_wy = [];
  36. lambda=1;
  37.  
  38. for i = 1:length(t)
  39. if i>length(t)/4
  40. %if i==length(t)/2
  41. % a=a+0.2;
  42. % end
  43. Vec = a*tmp+b*u2(i);
  44. Y = Vec+z2(i);
  45. phi = [tmp;u2(i)]; % Wartość poprzedniego wyjścia i aktualnego wejścia
  46. P_poprzednie = P; % Wartość porzpednigo P
  47. P = (1/lambda)*(P_poprzednie - ((P_poprzednie*(phi*phi') * P_poprzednie) / (lambda + (phi'*P_poprzednie*phi))));
  48. theta = theta + P * phi * (Y - (phi' * theta));
  49. tmp = Y;
  50. end
  51.  
  52. a_wy = [a_wy, theta(1)];
  53. b_wy = [b_wy, theta(2)];
  54. y_wy = [y_wy, theta(2)];
  55.  
  56. end
  57.  
  58. figure(2);
  59. plot(t, a_wy);
  60. hold on;
  61. yline(0.8,'-.b');
  62. yline(1,'-.r');
  63. hold off;
  64. grid on;
  65. xlabel ('Numer iteracji');
  66. ylabel ('estymacja parametru a');
  67.  
  68. figure(3);
  69. plot(t, b_wy);
  70. hold on;
  71. yline(2.4,'-.b');
  72. %yline(2.6,'-.r');
  73.  
  74. hold off;
  75. grid on;
  76. xlabel ('Numer iteracji');
  77. ylabel ('estymacja parametru b');
  78.  
  79. %%figure(4);
  80. %plot(t, y_wy);
  81. %hold on;
  82. %grid on;
  83. %xlabel ('Numer iteracji');
  84. %ylabel ('Wyjście');
  85. %
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement