clear clc close all t = [0; 1; 2; 3]; y = [-1 ; 1; 2; 4.5]; A = [0 1; 1 1; 2 1; 3 1]; x = (A'*A)\A'*y; % x = polyfit(t,y,1) plot(t,y, 'ok','LineWidth',2) hold on plot(t, x(1)*t +x(2), 'b','LineWidth',2) grid on xlabel('t', 'FontSize',14) ylabel('y', 'FontSize',14) %% clear clc A = [0 1; 1 1; 2 1; 3 1]; y = [-1; 1; 2; 9/2]; [Q,R] = qr(A); z = Q'*y; n = size(A,2); % en este ejemplo, n = 2 x = R(1:n,1:n) \ z(1:n) % res = A*x - y %% Householder A = [0 1; 1 1; 2 1; 3 1]; y = [-1; 1; 2; 9/2]; u1 = A(:,1) + norm(A(:,1))*[1;0;0;0]; % vector para H_1 H1 = eye(4) - 2*u1*u1'/(norm(u1).^2); A2 = H1*A; % primera columna lista! tildeA2 = A2(2:end,2:end); % sacar una fila y una columna u2 = tildeA2(:,1) + norm(tildeA2(:,1))*[1;0;0]; % vector para \tilde{A}_2 tildeH2 = eye(3) - 2*u2*u2'/(norm(u2).^2); H2 = eye(4); H2(2:end,2:end) = tildeH2; % segunda reflexion de Householder R = H2*H1*A; % Q = H1*H2; z = H2*H1*y; n = size(A,2); % en este ejemplo, n = 2 x = R(1:n,1:n) \ z(1:n) %% clear clc A = [0 1; 1 1; 2 1; 3 1]; y = [-1; 1; 2; 9/2]; [U,S,V] = svd(A); z = U'*y; w = S(1:2, 1:2) \ z(1:2); x = V*w % A\y