| 
x | 
-6 | 
-4 | 
-1 | 
0 | 
3 | 
5 | 
8 | 
| 
y | 
18 | 
13 | 
6 | 
4 | 
-1 | 
-8 | 
-15 | 
% A function defined for least square regression
function [c,R2] =
linearregression(x,y)
% Least-squares fit of data to y = c(1)*x + c(2)
% Here, c(1) = m; c(2) = b;
% Inputs: 
% x,y = Vectors of independent and dependent variables
% Outputs: 
% c = Coefficients of the given equation
if length(y)~= length(x)
    error("x and y are not compatible"); 
end
% Least squares algorithm implementation
x = x(:); y = y(:); % x and y
are column vectors
A = [x ones(size(x))]; % m-by-n
matrix of the system
c = (A'*A)\(A'*y); % Solving
normal equations
if nargout>1 % Checking number of function outputs
r = y - A*c;
R2 = 1 - (norm(r)/norm(y-mean(y)))^2;
end
Program Output:
>> x = [-6 -4 -1 0 3 5 8];
>> y = [18 13 6 4 -1 -8 -15];
>> linearregression(x,y)
ans =
   -2.3140
    4.0814
No comments:
Post a Comment