Zum Inhalt springen

Datei:Standard deviation.svg

Aus MOOCsWiki Staging
Originaldatei (SVG-Datei, Basisgröße: 512 × 411 Pixel, Dateigröße: 12 KB)

Diese Datei stammt aus Wikimedia Commons und kann von anderen Projekten verwendet werden. Die Beschreibung von deren Dateibeschreibungsseite wird unten angezeigt.

Beschreibung

Beschreibung
English: Illustration of Standard deviation. Self-made with MATLAB. Tweaked in Inkscape
Datum
Quelle Eigenes Werk
Urheber Oleg Alexandrov
SVG‑Erstellung
InfoField
 Der SVG-Code ist valide.
 Dieses Diagramm wurde mit MATLAB erstellt.
 und mit Inkscape.
  Diese Datei verwendet Text-Einbettung, die mit einem Texteditor leicht übersetzbar ist.

Lizenz

Public domain Dieses Werk wurde von seinem Urheber Oleg Alexandrov als gemeinfrei veröffentlicht. Dies gilt weltweit.
In manchen Staaten könnte dies rechtlich nicht möglich sein. Sofern dies der Fall ist:
Oleg Alexandrov gewährt jedem das bedingungslose Recht, dieses Werk für jedweden Zweck zu nutzen, es sei denn, Bedingungen sind gesetzlich erforderlich.

Source code (MATLAB)

% Illustartion of standard deviation
function main()
   a=-1.2; b = 1.3;
   c = -0.5; d = 2.5;
   N=100;
   
   X=linspace(a, b, N);
   Y=X.^3-0.2*X.^2-X+2;
%   Y=X.^2;
   
   % scale Y to fit in the plotting window
   Y = (Y-min(Y))/(max(Y)-min(Y));
   Y = Y*(d-c)+c;
   
   mean = sum(Y)/length(Y);
   stdev = sqrt(sum((Y-mean).*(Y-mean))/length(Y));
   
   figure(1); clf; hold on; axis off; axis equal;
   
   lw = 3; % linewidth
   lw2 = lw/2;
   lw3 = lw/1.5;
   fs = 30; % font size
   red=[0.867 0.06 0.14];
   blue = [0, 129, 205]/256;
   green = [0, 200,  70]/256;
   black = [0, 0, 0];

   % plot the curves
   shiftl=a-0.1;
   small=0.2;
   plot(X, Y, 'linewidth', lw, 'color', blue);
   plot([shiftl max(X)+small], [mean, mean], 'linewidth', lw2, 'color', red);
   plot([shiftl max(X)+small], [mean, mean]+stdev, 'linewidth', lw3, 'color', red, 'linestyle', '--');
   plot([shiftl max(X)+small], [mean, mean]-stdev, 'linewidth', lw3, 'color', red, 'linestyle', '--');

% plot some balls for beauty
   n = length(X);
   ball_rad = 0.03;
   ball(X(1), Y(1), ball_rad, blue)
   ball(X(n), Y(n), ball_rad, blue)
   
% axes
   small=0.2;
   arrowsize=0.2; arrow_type=0;
   angle=20; % in degrees

   arrow([shiftl-0.2 0], [b+0.2, 0],             lw2, arrowsize, angle, arrow_type, black)
   arrow([shiftl, min(Y-0.1)], [shiftl, max(Y)], lw2, arrowsize, angle, arrow_type, black)

% text
   small1 = 0.3; small2 = 0.3;
   text(shiftl-small1, mean,  '\mu', 'fontsize', fs)
   text(shiftl-small1-small2, mean+stdev,  '\mu+\sigma', 'fontsize', fs)
   text(shiftl-small1-small2, mean-stdev,  '\mu-\sigma', 'fontsize', fs)
%   H=text(0.1, -0.1,  'x_{n+1}'); set(H, 'fontsize', fs)
%   H=text(0.7, -0.1,  'x_{n}'); set(H, 'fontsize', fs)

% save to disk
   saveas(gcf, 'Standard_deviation.eps', 'psc2')
%   plot2svg('Standard_deviation.svg');

function arrow(start, stop, thickness, arrow_size, sharpness, arrow_type, color)

% Function arguments:
% start, stop:  start and end coordinates of arrow, vectors of size 2
% thickness:    thickness of arrow stick
% arrow_size:   the size of the two sides of the angle in this picture ->
% sharpness:    angle between the arrow stick and arrow side, in degrees
% arrow_type:   1 for filled arrow, otherwise the arrow will be just two segments
% color:        arrow color, a vector of length three with values in [0, 1]

% convert to complex numbers
   i=sqrt(-1);
   start=start(1)+i*start(2); stop=stop(1)+i*stop(2);
   rotate_angle=exp(i*pi*sharpness/180);

% points making up the arrow tip (besides the "stop" point)
   point1 = stop - (arrow_size*rotate_angle)*(stop-start)/abs(stop-start);
   point2 = stop - (arrow_size/rotate_angle)*(stop-start)/abs(stop-start);

   if arrow_type==1 % filled arrow

% plot the stick, but not till the end, looks bad
      t=0.5*arrow_size*cos(pi*sharpness/180)/abs(stop-start); stop1=t*start+(1-t)*stop;
      plot(real([start, stop1]), imag([start, stop1]), 'LineWidth', thickness, 'Color', color);

% fill the arrow
      H=fill(real([stop, point1, point2]), imag([stop, point1, point2]), color);
      set(H, 'EdgeColor', 'none')

   else % two-segment arrow
      plot(real([start, stop]), imag([start, stop]),   'LineWidth', thickness, 'Color', color);
      plot(real([stop, point1]), imag([stop, point1]), 'LineWidth', thickness, 'Color', color);
      plot(real([stop, point2]), imag([stop, point2]), 'LineWidth', thickness, 'Color', color);
   end

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

Kurzbeschreibungen

Ergänze eine einzeilige Erklärung, was diese Datei darstellt.

In dieser Datei abgebildete Objekte

Motiv

12.134 Byte

image/svg+xml

562560e1725514d324c78f4b28d3cc99ab9ff01e

Dateiversionen

Klicke auf einen Zeitpunkt, um diese Version zu laden.

Version vomVorschaubildMaßeBenutzerKommentar
aktuell06:55, 4. Aug. 2007Vorschaubild der Version vom 06:55, 4. Aug. 2007512 × 411 (12 KB)wikimediacommons>Oleg Alexandrov{{Information |Description=Illustration of en:Standard deviation |Source=self-made with MATLAB. Tweaked in [:en:Inkscape|Inkscape]] |Date=~~~~~ |Author=~~~~ |Permission=PD-self |other_versions= }} {{PD-self}} Category:Probability theory