Jump to content

File:Linear least squares.svg

Page contents not supported in other languages.
This is a file from the Wikimedia Commons
From Wikipedia, the free encyclopedia

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

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');

Captions

Add a one-line explanation of what this file represents

Items portrayed in this file

depicts

2 February 2008

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 AlexandrovNormal noise per Michael Hardy
00:58, 3 February 2008Thumbnail for version as of 00:58, 3 February 2008412 × 523 (75 KB)Oleg Alexandrovtweak width
20:27, 2 February 2008Thumbnail for version as of 20:27, 2 February 2008401 × 523 (75 KB)Oleg Alexandrovtweak bd box
19:54, 2 February 2008Thumbnail for version as of 19:54, 2 February 20084,609 × 5,778 (75 KB)Oleg Alexandrovtweak bd box
19:50, 2 February 2008Thumbnail for version as of 19:50, 2 February 20084,609 × 5,778 (75 KB)Oleg Alexandrovtweak bd box
19:41, 2 February 2008Thumbnail for version as of 19:41, 2 February 2008754 × 945 (74 KB)Oleg Alexandrovtweak text font size
19:38, 2 February 2008Thumbnail for version as of 19:38, 2 February 200855 × 69 (74 KB)Oleg Alexandrovtweak text font size
19:15, 2 February 2008Thumbnail for version as of 19:15, 2 February 2008303 × 411 (74 KB)Oleg Alexandrov{{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

The following page uses this file:

Global file usage

The following other wikis use this file: