File:Newton iteration.png

Fra Wikimedia Commons
Spring til navigation Spring til søgning

Oprindelig fil(2.406 × 1.978 billedpunkter, filstørrelse: 55 KB, MIME-type: image/png)

Captions

Captions

Tilføj en kort forklaring på en enkelt linje om hvad filen viser

Beskrivelse[redigér]

Beskrivelse Uploader graphed this with en:MATLAB (Illustration of en:Newton's method)
Dato 22. november 2004 (first version); 2004-11-23 (last version)
Kilde Transferred from en.wikipedia to Commons.
Forfatter Olegalexandrov at engelsk Wikipedia
PNG udvikling
InfoField
Matlab Logo 
PNG Rastergrafik blev lavet med MATLAB.
Kildekode
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

Licensering[redigér]

Public domain Dette værk er blevet udgivet som offentlig ejendom af dets skaber, Olegalexandrov at engelsk Wikipedia. Dette gælder i hele verden.
I nogle lande er dette ikke juridisk muligt. I så fald:
Olegalexandrov giver enhver ret til at anvende dette værk til ethvert formål, uden nogen restriktioner, medmindre sådanne restriktioner er påkrævede ved lov.


Oprindelig oplægningslog[redigér]

The original description page was here. All following user names refer to 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}}

Filhistorik

Klik på en dato/tid for at se filen som den så ud på det tidspunkt.

Dato/tidMiniaturebilledeDimensionerBrugerKommentar
nuværende25. maj 2007, 03:23Miniature af versionen fra 25. maj 2007, 03:232.406 × 1.978 (55 KB)Oleg Alexandrov (diskussion | bidrag){{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
12. jun. 2005, 23:11Miniature af versionen fra 12. jun. 2005, 23:11405 × 340 (6 KB)Everlong (diskussion | bidrag)optimized for smaller file size
17. jan. 2005, 23:06Miniature af versionen fra 17. jan. 2005, 23:06405 × 340 (14 KB)Andreas Ipp~commonswiki (diskussion | bidrag){{PD}}: Original author graphed this with MATLAB (Illustration of Newton's method), from Wikipedia.

Der er ingen sider der bruger denne fil.

Global filanvendelse

Følgende andre wikier anvender denne fil: