Advertisement
Guest User

lab4

a guest
Dec 14th, 2017
76
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Octave 1.33 KB | None | 0 0
  1. % исходные параметры модели
  2. a = 0.3;
  3. b = 0.7;
  4.  
  5. figure;
  6. hold on;
  7.  
  8. % генерация случайной выборки
  9. n = 10;
  10. x = zeros(n, 1);
  11. y = zeros(n, 1);
  12.  
  13. for i = 1:n
  14.    x(i) = rand();
  15.    y(i) = a * x(i) + b + rand() * 0.1 - 0.05;
  16. end    
  17.  
  18. xspan = 0:0.01:1;
  19. plot(xspan, a * xspan + b, x, y, '.')
  20.  
  21. % построение переопределенной СЛАУ
  22. A = zeros(n, 2);
  23. A(:, 1) = x;
  24. A(:, 2) = ones(n, 1);
  25. B = y;
  26.  
  27. % решение нормальной системы
  28. param = (A'*A) \ (A'*B)
  29. plot(xspan, param(1) * xspan + param(2), 'r');
  30.  
  31. figure;
  32. hold on;
  33.  
  34. n = 15;
  35. x = [0.895314; -0.464475; 1.494028; -0.390173; 0.451463; 1.246883; 1.132149; 0.111979; -0.023294; 0.601444; -0.476811; 0.146985; 1.501419; 0.507343; 1.315907];
  36. y = [-1.5848; -2.2259; -2.5600; -2.9501; -1.4985; -1.8344; -3.2802; -1.5850; -3.3583; -1.5061; -2.3095; -1.5594; -2.5339; -3.4991; -3.0746];
  37.  
  38. plot(x, y, '.');
  39.  
  40. A = zeros(n, 3);
  41. A(:, 1) = 2*x;
  42. A(:, 2) = 2*y;
  43. A(:, 3) = ones(n, 1);
  44. B = x.^2 + y.^2;
  45.  
  46. param = (A'*A) \ (A'*B);
  47. param = [sqrt(param(3) + param(1)^2 + param(2)^2); param(1); param(2)]
  48.  
  49. xspan = param(2) - param(1):0.01:(param(2) + param(1) + 0.01);
  50. plot(xspan, sqrt(param(1)^2 - (xspan - param(2)).^2) + param(3), 'r');
  51. plot(xspan, -sqrt(param(1)^2 - (xspan - param(2)).^2) + param(3), 'r');
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement