Fil:Helmholtz solution.png

Fra testwiki
Hopp til navigering Hopp til søk
Opprinnelig fil (975 × 1 957 piksler, filstørrelse: 23 KB, MIME-type: image/png)

Denne filen er fra Wikimedia Commons og kan brukes av andre prosjekter. Beskrivelsen fra filbeskrivelsessida vises nedenfor.

Beskrivelse Illustration of en:Helmholtz equation.
Dato (UTC)
Kilde self-made with en:Matlab. See the source code below.
Opphavsperson Oleg Alexandrov
 Denne PNG rastergrafikken ble laget med MATLAB.
Public domain Jeg, opphavsrettensholderen til dette verket, frigir dette verket til allmennheten. Dette gjelder på verdensbasis.
I enkelte land kan dette være juridisk umulig. I så fall:
Jeg gir hvem som helst retten til å bruke dette verket for ethvert formål, uten noen vilkår, med mindre slike vilkår kreves ved lov.


Source code (MATLAB)

 

% Plot the solution to the Helmholtz equation with a given source
clear all;

Box_x = 3;
Scale = 0.5;
Box_y = Box_x/Scale;

Nx = 200;
Ny = Nx/Scale;

wavenumber = 10;

XX = linspace(-Box_x, Box_x, Nx);
YY = linspace(-Box_y, Box_y, Ny);
hx = XX(2) - XX(1);
hy = YY(2) - YY(1);
[X, Y] = meshgrid(XX, YY);

Source_size  = 0.5;
Source_shift = 2;
Source =  max(Source_size^2 - X.^2-(Y-Source_shift).^2, 0) + max(Source_size^2 - X.^2-(Y+Source_shift).^2, 0) ;

% plot the source
figure(1); clf; hold on; axis equal; axis off;
imagesc(Source);


% plot the solution to the Helmholtz equation
I = sqrt(-1);
Field = 0*X;

[m, n] = size(Source);
for i=1:m
   i
   for j=1:n

      if Source(i, j) ~= 0

	 x0 = X(i, j);
	 y0 = Y(i, j);

	 % add the contribution from the current source
	 Field = Field + (I/4)*besselh(0, 1, wavenumber*sqrt((X-x0).^2+(Y-y0).^2) + eps)*Source(i, j)*hx*hy;
      end
      
   end
end


figure(2); clf; hold on; axis equal; axis off;
imagesc(real(Field));

% Save to disk and convert to png right away
figure(1); 
saveas(gcf, 'Helmholtz_source.eps', 'psc2');
%! convert -density 200 Helmholtz_source.eps Helmholtz_source.png

figure(2); 
saveas(gcf, 'Helmholtz_solution.eps', 'psc2');
%! convert -density 200 Helmholtz_solution.eps Helmholtz_solution.png
Dette bildet bør gjenskapes med hjelp av vektorgrafikk som en SVG-fil. Dette har flere fordeler, se Commons:Media for cleanup for mer informasjon. Hvis en SVG-fil med dette bildet er tilgjengelig, vennligst last den opp. Etter opplasting erstatt denne malen med {{vector version available|nytt bilde.svg}}.

Bildetekster

Legg til en kort forklaring på hva filen representerer

Elementer som er med i denne fila

motiv

Filhistorikk

Klikk på et tidspunkt for å vise filen slik den var på det tidspunktet.

Dato/klokkeslettMiniatyrbildeDimensjonerBrukerKommentar
nåværende7. jul. 2007 kl. 20:50Miniatyrbilde av versjonen fra 7. jul. 2007 kl. 20:50975 × 1 957 (23 KB)wikimediacommons>Oleg AlexandrovTweak

Den følgende siden bruker denne filen: