Bestand:Diffeomorphism of a square.svg

Uit testwiki
Naar navigatie springen Naar zoeken springen
Oorspronkelijk bestand (SVG-bestand, nominaal 560 × 560 pixels, bestandsgrootte: 39 kB)

Dit bestand is afkomstig van Wikimedia Commons en kan ook in andere projecten gebruikt worden. De bestandsbeschrijvingspagina wordt hieronder weergegeven.

Beschrijving Illustration of a diffeomorphism.
Datum (UTC)
Bron self-made with MATLAB
Auteur Oleg Alexandrov
Public domain Ik, de auteursrechthebbende van dit werk, geef dit werk vrij in het publieke domein. Dit is wereldwijd van toepassing.
In sommige landen is dit wettelijk niet mogelijk; in die gevallen geldt:
Ik sta iedereen toe dit werk voor eender welk doel te gebruiken, zonder enige voorwaarden, tenzij zulke voorwaarden door de wet worden voorgeschreven.

Source code (MATLAB)

% Compute a diffeomorphism from a square to a square which leave
% the boundary fixed.

function main()

   N = 20; % num of grid points
   epsilon = 0.1; % displacement for each small diffeomorphism
   num_comp = 10; % number of times the diffeomorphism is composed with itself
   
   S = linspace(-1, 1, N);

   [X, Y] = meshgrid(S);

   Z = X; W = Y;

   % take num_comp compositions of the same small diffeomorphism
   for iter = 1:num_comp

      for i=1:N
         for j=1:N
            
            [Z(i, j), W(i, j)] = small_diffeo(Z(i, j), W(i, j), epsilon);
            
         end
      end

   end
   
   % graphing settings
   lw = 2;
   mycolor = [1, 0, 0.1];
   small = 0.1;
   
   figure(1); clf; hold on;
   for i=1:N
      plot(X(:, i), Y(:, i), 'linewidth', lw, 'color', mycolor);
      plot(X(i, :), Y(i, :), 'linewidth', lw, 'color', mycolor);
   end
   axis([-1-small, 1+small, -1-small, 1+small]);
   axis equal; axis off;
   
   figure(2); clf; hold on;
   for i=1:N
      plot(Z(:, i), W(:, i), 'linewidth', lw, 'color', mycolor);
      plot(Z(i, :), W(i, :), 'linewidth', lw, 'color', mycolor);
   end
   axis([-1-small, 1+small, -1-small, 1+small]);
   axis equal; axis off;
   
function [z, w] = small_diffeo(x, y, epsilon);

   A1=epsilon*(cos(pi*x)+1)*(cos(pi*y)+1)/4.0;
   A2=epsilon*cos(pi*x/2)*cos(pi*y/2);

   A = (A1+A2)/2;
   
   z = x +(-y)*A;
   w = y +( x)*A;

Bijschriften

Beschrijf in één regel wat dit bestand voorstelt

Items getoond in dit bestand

beeldt af

Bestandsgeschiedenis

Klik op een datum/tijd om het bestand te zien zoals het destijds was.

Datum/tijdMiniatuurAfmetingenGebruikerOpmerking
huidige versie16 feb 2009 11:03Miniatuurafbeelding voor de versie van 16 feb 2009 11:03560 × 560 (39 kB)wikimediacommons>Erik del Toro Streb''stroke-linecap:round'' for better locking corners

Dit bestand wordt op de volgende pagina gebruikt: