Archivo:Partition of unity illustration.svg

De testwiki
Ir a la navegación Ir a la búsqueda
Archivo original (archivo SVG, nominalmente 5400 × 891 píxeles, tamaño de archivo: 12 kB)

Este archivo es de Wikimedia Commons y puede usarse en otros proyectos. La descripción en su página de descripción del archivo se muestra debajo.

Resumen

Descripción Illustration of Partition of unity
Fecha (UTC)
Fuente self-made with MATLAB, tweaked in Inkscape
Autor Oleg Alexandrov
SVG desarrollo
InfoField
 El código fuente de esta imagen SVG es válido.
 Este diagrama fue creado con Inkscape
  This trigonometry uses embedded text that can be easily translated using a text editor.

Licencia

Public domain Yo, el titular de los derechos de autor de esta obra, lo libero al dominio público. Esto aplica en todo el mundo.
En algunos países esto puede no ser legalmente factible; si ello ocurriese:
Concedo a cualquier persona el derecho de usar este trabajo para cualquier propósito, sin ningún tipo de condición al menos que éstas sean requeridas por la ley.

Source code (MATLAB)

% illustration of partitition of unity.
% For simplicity, we cheat by using scaled sums of gaussians
% instead of bump functions.

function main()

   figure(1); clf; hold on; axis equal; axis off;
   lw = 2; % linewidth

   h=0.1; % grid size

%  endpoints of the interval
   a = -5; b = 10;

   Sample=[-2.1 -1.3 -0.4 1.3 1.8 3.1 4.5]; 

   red    = [0.867 0.06 0.14];
   blue   = [0, 129, 205]/256;
   green  = [0, 200,  70]/256;
   yellow = [254, 194,   0]/256;
   Colors = [red', blue', green', yellow']';

   L = [2 4 6 8];
   
   X=a:h:b;
   Y = zeros(length(L), length(X));
   Yt = 0*X;

   % gaussian with mean zero variance zsigma
   zsigma=0.55;
   f=inline('exp(-x.^2/2/zsigma)/zsigma/sqrt(2*pi)'); 

   pos = 1;
   for i=1:length(Sample)

      if i > L(pos)
         pos = pos+1;
      end

      Ycur = f(X-Sample(i), zsigma);
      Y(pos, :) = Y(pos, :) + Ycur;
      Yt = Yt+Ycur;
      
   end

   [Xtp, Ytp] = make_periodic (a, b, h, X, Yt);
   Yr = 0*Xtp;
   
   for pos=1:length(L)
      [Xp, Yp] = make_periodic (a, b, h, X, Y(pos, :));
      
      Yp = Yp./Ytp;
      Yr = Yr + Yp;
      plot(Xp, Yp, 'color',  Colors(pos, :), 'linewidth', lw);
   end
   
   plot(Xtp, 0*Yr, 'k', 'linewidth', lw);
   plot(Xtp, Yr, 'k', 'linewidth', lw/1.4, 'linestyle', '--');

   fs = 20;
   shiftx = -0.3;
   shifty = -0.0;
   
   text(Xtp(1)+shiftx, 0+shifty, '0', 'fontsize', fs);
   text(Xtp(1)+shiftx, 1+shifty, '1', 'fontsize', fs);
   
   saveas(gcf, 'Partition_of_unity_illustration.eps', 'psc2');
   %plot2svg('Partition_of_unity_illustration.svg');

function [Xp, Yp] = make_periodic (a, b, h, X, Y)
   
%  Take a function defined on the real line.
%  Wrap the real line around. Sum the overlapping parts.
%  Get a periodic function.
   
   T = 8;
   as = -3; bs = as+T;
   A = (as-a)/h;
   B = (bs-a)/h;

   N = length(Y);
   
   Y((B-A+1):B) = Y((B-A+1):B) + Y(1:A);
   Y((A+1):(A+N-B)) = Y((A+1):(A+N-B)) + Y((B+1):N);

   Yp = Y((A+1):B);
   Xp = X((A+1):B);

Leyendas

Añade una explicación corta acerca de lo que representa este archivo

Elementos representados en este archivo

representa a

image/svg+xml

38b2159759bef5eb0cfa3e42c7b870600ea37001

Historial del archivo

Haz clic sobre una fecha y hora para ver el archivo tal como apareció en ese momento.

Fecha y horaMiniaturaDimensionesUsuarioComentario
actual05:03 9 ago 2007Miniatura de la versión del 05:03 9 ago 20075400 × 891 (12 kB)wikimediacommons>Oleg AlexandrovFix bug

La siguiente página usa este archivo: