Tiedosto:Newton iteration.png

Wikipediasta
Siirry navigaatioon Siirry hakuun

Alkuperäinen tiedosto(2 406 × 1 978 kuvapistettä, 55 KiB, MIME-tyyppi: image/png)

Yhteenveto

Kuvaus Uploader graphed this with en:MATLAB (Illustration of en:Newton's method)
Päiväys 22. marraskuuta 2004 (first version); 2004-11-23 (last version)
Lähde Siirretty projektista en.wikipedia Commonsiin.
Tekijä Olegalexandrov projektissa Wikipedia kielellä englanti
PNG kehittely
InfoField
 
Tämä PNG tietokonegrafiikka luotiin käyttäen apuna ohjelmaa MATLAB
Lähdekoodi
InfoField

MATLAB code

(Newton iteration)
% illustration of Newton's method for finding a zero of a function

function main ()
   
a=-1; b=1;   % interval endpoints
fs=20;       % text font size

% arrows settings
thickness1=2; thickness2=1.5; arrowsize=0.1; arrow_type=1;
angle=20; % in degrees

h=0.1;  % grid size
X=a:h:b; % points on the x axis
f=inline('exp(x)/1.5-0.5');   % function to plot
g=inline('exp(x)/1.5');       % derivative of f
x0=0.7; y0=f(x0);             % point at which to draw the tangent line 
m=g(x0);
Y=f(X);                       % points on the function to plot
XT=-0.1:h:b; YT=y0+(XT-x0)*m; % tangent line

% prepare the screen
clf; hold on; axis equal; axis off

% plot the graph and the tangent lines
plot(X, Y, 'linewidth', thickness1)
plot(XT, YT, 'r', 'linewidth', thickness1)
plot([x0 x0], [0, y0], '--', 'linewidth', thickness2)

% axes
small=0.2;
arrow([a 0], [b, 0], thickness2, arrowsize, angle, arrow_type, [0, 0, 0])
arrow([a+small, -0.1], [a+small, 1.4], thickness2, arrowsize, angle, arrow_type, [0, 0, 0])

% text
H=text(-0.29, -0.06,  'x'); set(H, 'fontsize', fs)
H=text(0.1, -0.1,  'x_{n+1}'); set(H, 'fontsize', fs)
H=text(0.7, -0.1,  'x_{n}'); set(H, 'fontsize', fs)

% save to disk
saveas(gcf, 'newton_iteration.eps', 'psc2')

function arrow(start, stop, thickness, arrow_size, sharpness, arrow_type, color)

% Function arguments:
% start, stop:  start and end coordinates of arrow, vectors of size 2
% thickness:    thickness of arrow stick
% arrow_size:   the size of the two sides of the angle in this picture ->
% sharpness:    angle between the arrow stick and arrow side, in degrees
% arrow_type:   1 for filled arrow, otherwise the arrow will be just two segments
% color:        arrow color, a vector of length three with values in [0, 1]

% convert to complex numbers
   i=sqrt(-1);
   start=start(1)+i*start(2); stop=stop(1)+i*stop(2);
   rotate_angle=exp(i*pi*sharpness/180);

% points making up the arrow tip (besides the "stop" point)
   point1 = stop - (arrow_size*rotate_angle)*(stop-start)/abs(stop-start);
   point2 = stop - (arrow_size/rotate_angle)*(stop-start)/abs(stop-start);

   if arrow_type==1 % filled arrow

      % plot the stick, but not till the end, looks bad
      t=0.5*arrow_size*cos(pi*sharpness/180)/abs(stop-start); stop1=t*start+(1-t)*stop;
      plot(real([start, stop1]), imag([start, stop1]), 'LineWidth', thickness, 'Color', color);

      % fill the arrow
      H=fill(real([stop, point1, point2]), imag([stop, point1, point2]), color);
      set(H, 'EdgeColor', 'none')

   else % two-segment arrow
      plot(real([start, stop]), imag([start, stop]),   'LineWidth', thickness, 'Color', color);
      plot(real([stop, point1]), imag([stop, point1]), 'LineWidth', thickness, 'Color', color);
      plot(real([stop, point2]), imag([stop, point2]), 'LineWidth', thickness, 'Color', color);
   end

Lisenssi

Public domain Tämän teoksen tekijä, Olegalexandrov projektissa Wikipedia kielellä englanti, on julkaissut sen public domainiin. Tämä on voimassa maailmanlaajuisesti.
Joissain maissa laki ei mahdollista tätä. Mikäli näin on:
Olegalexandrov myöntää kaikille oikeuden käyttää tätä teosta mihin tahansa tarkoitukseen ilman minkäänlaisia ehtoja, ellei laki vaadi ehtojen asettamista.


Alkuperäinen tallennusloki

Alkuperäinen kuvaussivu oli täällä. Käyttäjätunnukset alla viittaavat kohteeseen en.wikipedia.
  • 2004-11-23 19:55 Olegalexandrov 405×340×8 (14290 bytes) Scaled down the picture of Newton's method
  • 2004-11-22 21:34 Olegalexandrov 509×406×8 (16510 bytes) I graphed this with Matlab (Illustration of Newton's method) {{PD}}

Kuvatekstit

Lisää yhden rivin pituinen kuvaus tästä tiedostosta

Kohteet, joita tässä tiedostossa esitetään

esittää

Tiedoston historia

Päiväystä napsauttamalla näet, millainen tiedosto oli kyseisellä hetkellä.

PäiväysPienoiskuvaKokoKäyttäjäKommentti
nykyinen25. toukokuuta 2007 kello 06.23Pienoiskuva 25. toukokuuta 2007 kello 06.23 tallennetusta versiosta2 406 × 1 978 (55 KiB)Oleg Alexandrov{{Information |Description=Uploader graphed this with en:MATLAB (Illustration of en:Newton's method) ==Source code== <pre> <nowiki> % illustration of Newton's method for finding a zero of a function function main () a=-1; b=1; % interva
13. kesäkuuta 2005 kello 02.11Pienoiskuva 13. kesäkuuta 2005 kello 02.11 tallennetusta versiosta405 × 340 (6 KiB)Everlongoptimized for smaller file size
18. tammikuuta 2005 kello 02.06Pienoiskuva 18. tammikuuta 2005 kello 02.06 tallennetusta versiosta405 × 340 (14 KiB)Andreas Ipp~commonswiki{{PD}}: Original author graphed this with MATLAB (Illustration of Newton's method), from Wikipedia.

Tätä tiedostoa ei käytetä millään sivulla.

Tiedoston järjestelmänlaajuinen käyttö

Seuraavat muut wikit käyttävät tätä tiedostoa: