File:Linear least squares.svg

Original file(SVG file, nominally 512 × 621 pixels, file size: 77 KB)

Captions

Captions

Add a one-line explanation of what this file represents
Description Illustration of linear least squares.
Date (UTC)
Source self-made with MATLAB, tweaked in Inkscape.
Author Oleg Alexandrov
Permission
(Reusing this file)
Public domain 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.
SVG development
InfoField
 
The SVG code is valid.
 
This diagram was created with MATLAB.
Source code
InfoField

MATLAB code

% 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, color)
   Theta=0:0.1:2*pi;
   X=r*cos(Theta)+x;
   Y=r*sin(Theta)+y;
   H=fill(X, Y, color);
   set(H, 'EdgeColor', 'none');

File history

Click on a date/time to view the file as it appeared at that time.

Date/TimeThumbnailDimensionsUserComment
current04:33, 22 February 2009Thumbnail for version as of 04:33, 22 February 2009512 × 621 (77 KB)Oleg Alexandrov (talk | contribs)Normal noise per Michael Hardy
00:58, 3 February 2008Thumbnail for version as of 00:58, 3 February 2008412 × 523 (75 KB)Oleg Alexandrov (talk | contribs)tweak width
20:27, 2 February 2008Thumbnail for version as of 20:27, 2 February 2008401 × 523 (75 KB)Oleg Alexandrov (talk | contribs)tweak bd box
19:54, 2 February 2008Thumbnail for version as of 19:54, 2 February 20084,609 × 5,778 (75 KB)Oleg Alexandrov (talk | contribs)tweak bd box
19:50, 2 February 2008Thumbnail for version as of 19:50, 2 February 20084,609 × 5,778 (75 KB)Oleg Alexandrov (talk | contribs)tweak bd box
19:41, 2 February 2008Thumbnail for version as of 19:41, 2 February 2008754 × 945 (74 KB)Oleg Alexandrov (talk | contribs)tweak text font size
19:38, 2 February 2008Thumbnail for version as of 19:38, 2 February 200855 × 69 (74 KB)Oleg Alexandrov (talk | contribs)tweak text font size
19:15, 2 February 2008Thumbnail for version as of 19:15, 2 February 2008303 × 411 (74 KB)Oleg Alexandrov (talk | contribs){{Information |Description=Illustration of linear least squares. |Source=self-made with MATLAB, tweaked in Inkscape. |Date=~~~~~ |Author= Oleg Alexandrov |Permission=See below |other_versions= }} {{PD

There are no pages that use this file.

File usage on other wikis

The following other wikis use this file: