File originale(1 604 × 986 pixel, dimensione del file: 179 KB, tipo MIME: image/png)

Logo di Commons
Logo di Commons
Questo file e la sua pagina di descrizione (discussione · modifica) si trovano su Wikimedia Commons (?)

Dettagli

Descrizione A bump function in 2D
Data
Fonte Opera propria
Autore Oleg Alexandrov
PNG sviluppo
InfoField
 
Questo diagramma in PNG grafica è stato creato con MATLAB.
Codice sorgente
InfoField

MATLAB code

% illustration of a bump function in two dimensions
function main()

   % the number of data points. More points means prettier picture.
   N = 300;

   % a function close to what we want, but not smooth
   Z = get_step_function (N);

   % a smooth function with small support, that will serve as mollifier
   W = get_mollifier     (N);

% get the convolution of the two, so a mollified step function
   S = conv2(Z, W);

% truncate S at the edges, and scale it
   p=0.2;
   [m, n] = size(S);
   m1 = floor(p*m)+1; m2=floor((1-p)*m)-1;
   n1 = floor(p*n)+1; n2=floor((1-p)*n)-1;
   S = S(m1:m2, n1:n2);
   S = 100*S/max(max(S));
   
% plot the surface
   figure(2); clf; hold on; axis equal; axis off;
   surf(S);
   
% make the surface beautiful
   shading interp;
   colormap autumn;

% add in a source of light
   camlight (-50, 54);
   
% viewing angle
   view(-40, 38);

   % save as png
  print('-dpng', '-r400', 'Bump2D_illustration_uncropped.png');

  % optionally, crop the margins
  !convert -trim Bump2D_illustration_uncropped.png Bump2D_illustration.png
  
% get a function which is 1 on a set, and 0 outside of it
function Z = get_step_function(N)
   XX = linspace(-1.5, 4, N);
   YY = linspace(-4, 4, N);
   [X, Y] = meshgrid(XX, YY);
   
   c = 2;
   k=1.2;
   shift=10;
   Z = (c^2-X.^2-Y.^2).^2 + k*(c-X).^3-shift;
   
   Z =1-max(sign(Z), 0);

function W = get_mollifier(N)
% now try to get a function with compact support
% as a mollifier
% We will cheat by using a gaussian

   a = 4;
   XX = linspace(-a, a, N);
   YY = linspace(-a, a, N);
   [X, Y] = meshgrid(XX, YY);
   
   K = 4;
   W = exp(-K*(X.^2+Y.^2));

   % truncate the Gaussian to make it with compact support
   trunc = 1e-2;
   W = max(W-trunc, 0);

Licenza

Public domain Io, detentore del copyright su quest'opera, la rilascio nel pubblico dominio. Questa norma si applica in tutto il mondo.
In alcuni paesi questo potrebbe non essere legalmente possibile. In tal caso:
Garantisco a chiunque il diritto di utilizzare quest'opera per qualsiasi scopo, senza alcuna condizione, a meno che tali condizioni siano richieste dalla legge.

Didascalie

Aggiungi una brevissima spiegazione di ciò che questo file rappresenta

Elementi ritratti in questo file

raffigura

image/png

115be195be93ff68b2c3752960f1921ada54db78

183 286 byte

986 pixel

1 604 pixel

Cronologia del file

Fare clic su un gruppo data/ora per vedere il file come si presentava nel momento indicato.

Data/OraMiniaturaDimensioniUtenteCommento
attuale05:15, 8 ago 2007Miniatura della versione delle 05:15, 8 ago 20071 604 × 986 (179 KB)Oleg AlexandrovTrying to fix some odd issues with the bounding box.
05:11, 8 ago 2007Miniatura della versione delle 05:11, 8 ago 20071 590 × 979 (186 KB)Oleg Alexandrov{{Information |Description=A bump function in 2D |Source=self-made |Date=~~~~~ |Author= Oleg Alexandrov }} {{PD-self}} Category:Partial differential equations
05:11, 8 ago 2007Miniatura della versione delle 05:11, 8 ago 20071 590 × 979 (186 KB)Oleg Alexandrov{{Information |Description=A bump function in 2D |Source=self-made |Date=~~~~~ |Author= Oleg Alexandrov }} {{PD-self}} Category:Partial differential equations
05:08, 8 ago 2007Miniatura della versione delle 05:08, 8 ago 20071 590 × 979 (186 KB)Oleg Alexandrov{{Information |Description=A bump function in 2D |Source=self-made |Date=~~~~~ |Author= Oleg Alexandrov }} {{PD-self}} Category:Partial differential equations

La seguente pagina usa questo file:

Utilizzo globale del file

Anche i seguenti wiki usano questo file: