Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- % исходные параметры модели
- a = 0.3;
- b = 0.7;
- figure;
- hold on;
- % генерация случайной выборки
- n = 10;
- x = zeros(n, 1);
- y = zeros(n, 1);
- for i = 1:n
- x(i) = rand();
- y(i) = a * x(i) + b + rand() * 0.1 - 0.05;
- end
- xspan = 0:0.01:1;
- plot(xspan, a * xspan + b, x, y, '.')
- % построение переопределенной СЛАУ
- A = zeros(n, 2);
- A(:, 1) = x;
- A(:, 2) = ones(n, 1);
- B = y;
- % решение нормальной системы
- param = (A'*A) \ (A'*B)
- plot(xspan, param(1) * xspan + param(2), 'r');
- figure;
- hold on;
- n = 15;
- 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];
- 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];
- plot(x, y, '.');
- A = zeros(n, 3);
- A(:, 1) = 2*x;
- A(:, 2) = 2*y;
- A(:, 3) = ones(n, 1);
- B = x.^2 + y.^2;
- param = (A'*A) \ (A'*B);
- param = [sqrt(param(3) + param(1)^2 + param(2)^2); param(1); param(2)]
- xspan = param(2) - param(1):0.01:(param(2) + param(1) + 0.01);
- plot(xspan, sqrt(param(1)^2 - (xspan - param(2)).^2) + param(3), 'r');
- plot(xspan, -sqrt(param(1)^2 - (xspan - param(2)).^2) + param(3), 'r');
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement