Mărește rezoluția imaginii(Fișier SVG, cu dimensiunea nominală de 512 × 512 pixeli, mărime fișier: 249 KB)

Acest fișier se află la Wikimedia Commons. Consultați pagina sa descriptivă acolo.

Descriere fișier

Descriere
English: Consider a function f whose graph looks like a hill. The blue curves are the level sets; the red curves follow the direction of the gradient. The cautious hiker follows the blue paths; the bold hiker follows the red paths. Note that blue and red paths always cross at right angles.

Source code:

 Lx1=-1.7; Lx2=2.3; Ly1=-2; Ly2=2;  % box dimensions
 N=60; % split the box into N x N grid
 [X, Y]=meshgrid(Lx1:1/N:Lx2, Ly1:1/N:Ly2); % the grid
 
 f=inline('-((y+1).^4/25+(x-1).^4/10+x.^2+y.^2-1)');   % draw the level sets of f
 fx=inline('-2/5*(x-1).^3-2*x'); fy=inline('-4/25*(y+1).^3-2*y'); % partial deriv  
 Z=f(X, Y); % the function value
 
 figure(1); clf; hold on; axis equal; axis off; % pop up a figure
 h=0.5; % spacing between heights
 v=[-20:h:0.8 0.85]; % the heights
 [c,h] = contour(X, Y, Z, v, 'b'); % the level sets at those heights
 
 x0=0.1333; y0=-0.0666; % coordinates of the top of the hill
 delta=0.01; % descend from the top of the hill with this step size
 Angles=linspace(0, 2*pi, 20); % will draw 19 descent curves with Angles(i)
 
 for i=1:length(Angles)
   x=x0+0.1*cos(Angles(i)); y=y0+0.1*sin(Angles(i)); % starting point
   Curve_x=[x]; Curve_y=[y]; % will hold a descent curve following the gradient
   
   % descend from the hill 
   for j=1:500
     x=x-delta*fx(x);
     y=y-delta*fy(y);
     Curve_x=[Curve_x x]; Curve_y=[Curve_y y]; % append the updated values
     
     if max(abs(x), abs(y)) > 5 % stop when going beyond the picture frame
       break;
     end
   end
   plot(Curve_x, Curve_y, 'r') % plot the curve of steepest descent
 end
 
 axis([Lx1 Lx2 Ly1 Ly2]); % the picture frame  
 plot2svg('level_grad.svg',gcf); % Download plot2svg from Matlab central
%
Dată
Sursă File:Level_grad.png
Autor Oleg Alexandrov
Alte versiuni File:Level_grad.png

Source code modified by me to output SVG directly from Matlab

Licențiere

Public domain Eu, deținătorul drepturilor de autor ale acestei opere, o eliberez domeniului public. Aceasta se aplică în întreaga lume.
În anumite țări există posibilitatea ca acest lucru să nu fie legal posibil; în acest caz:
permit oricui să utilizeze această operă în orice scop, fără nicio condiție, atâta timp cât asemenea condiții nu sunt cerute de lege.

Captions

Add a one-line explanation of what this file represents

Items portrayed in this file

subiectul reprezentat

23 decembrie 2004

Istoricul fișierului

Apăsați pe Data și ora pentru a vedea versiunea trimisă atunci.

Data și oraMiniaturăDimensiuniUtilizatorComentariu
actuală25 august 2010 11:49Miniatură pentru versiunea din 25 august 2010 11:49512x512 (249 KB)GyroMagicianFixed page size to image size (using Inkscape)
25 august 2010 11:48Miniatură pentru versiunea din 25 august 2010 11:48512x384 (249 KB)GyroMagician{{Information |Description={{en|1=Source code: Lx1=-1.7; Lx2=2.3; Ly1=-2; Ly2=2; % box dimensions N=60; % split the box into N x N grid [X, Y]=meshgrid(Lx1:1/N:Lx2, Ly1:1/N:Ly2); % the grid f=inline('-((y+1).^4/25+(x-1).^4/10+x.^2+y.^2-1)');

Următoarele pagini conțin această imagine:

Utilizarea globală a fișierului

Următoarele alte proiecte wiki folosesc acest fișier: