  | 
          
            This is a file from the  Wikimedia Commons. Information from its  description page there is shown below.  Commons is a freely licensed media file repository.  You can help. 
           | 
         
        
        
       
        
         
          
           | Description | 
           Illustration of  linear least squares. | 
          
          
           | Date | 
           19:15, 2 February 2008 (UTC) | 
          
          
           | Source | 
           self-made with MATLAB, tweaked in Inkscape. | 
          
          
           | Author | 
            Oleg Alexandrov | 
          
         
         
        
         
          
           | 
            
            | 
           This chart was created with  MATLAB. | 
          
         
         
        
         
          | Public domainPublic domainfalsefalse | 
         
        
        
         
            | 
          I, the copyright holder of this work, release this work into the  public domain. This applies worldwide. In some countries this may not be legally possible; if so: I grant anyone the right to use this work for any purpose, without any conditions, unless such conditions are required by law.Public domainPublic domainfalsefalse 
           | 
         
        
        Source code ( MATLAB) 
        
         
% Illustration of linear least squares.
function main()
 
   % KSmrq's colors
   red    = [0.867 0.06 0.14];
   blue   = [0, 129, 205]/256;
   green  = [0, 200,  70]/256;
   yellow = [254, 194,   0]/256;
   white = 0.99*[1, 1, 1];
   gray = 0.2*white;
 
% Set up the grid and other parameters
   N = 100;
   A = -2.2; B = 2; 
   X = linspace(A, B, N);
   C=-4; D = 4;
 
   % Set up the figure
   lw = 4; % linewidth
   fs = 18; % font size
   figure(1); clf; hold on;
   set(gca, 'fontsize', fs);
   set(gca, 'linewidth', lw/2.5)
   hold on; grid on;
 
   % random numbers
   a = 1.1; b = 3.5; c = 1.4;
   M = 50;
   XX=linspace(A+0.3, B-0.3, M+1);
   Xr = 0*(1:M);
   Yr = Xr;
   for i=1:M
      r=rand(1);
      Xr(i) = XX(i)*r+XX(i+1)*(1-r);
      Yr(i) = a*Xr(i) + b + c*0.4*erfinv(2*rand(1) - 1);
   end
 
   myrad = 0.05;
   for i=1:length(Xr)
      ball(Xr(i), Yr(i), myrad, red);
   end
 
 
   % least squares fitting
   Yr = Yr';
   Mat = [Xr' (0*Xr+1)'];
   V=Mat'*Yr;
   V=(Mat'*Mat)\V;
   ae = V(1); be = V(2);   
   plot(X, ae*X+be, 'b', 'linewidth', lw);
 
   grid on;
   set(gca, 'GridLineStyle', '-', 'xcolor', gray);
   set(gca, 'GridLineStyle', '-', 'ycolor', gray);
   set(gca, 'XTick', [-2 -1 0 1 2]);
 
 
   axis equal;
   axis([-2, 2, 1, 6]);
 
   saveas(gcf, 'Linear_least_squares.eps', 'psc2'); % save as eps
   %plot2svg('Linear_least_squares.svg'); % save as svg
 
 
function ball(x, y, r, colour)
   Theta=0:0.1:2*pi;
   X=r*cos(Theta)+x;
   Y=r*sin(Theta)+y;
   H=fill(X, Y, colour);
   set(H, 'EdgeColor', 'none');
 
         
        
         
 |lang1=en|wiki1=wikipedia|article1=Linear_regression |lang2=it|wiki2=wikipedia|article2=Minimi_Quadrati |gallery1=Control theory }}
        
        
        
       File usage
       
        The following pages on Schools Wikipedia link to this image (list may be incomplete):
        
        
       
       This file contains additional information, probably added from the digital camera or scanner used to create or digitize it. If the file has been modified from its original state, some details may not fully reflect the modified file.
        
       
      Wikipedia for Schools is one of SOS Childrens Villages' many educational projects. SOS Children's Villages is famous for the love and shelter it brings to lone children, but we also support families in the areas around our Children's Villages, helping those who need us the most. Try to find out how you can help children in other countries on our web site.