File:Newton iteration.png
From testwiki
Jump to navigation
Jump to search
Size of this preview: 729 × 599 pixels. Other resolutions: 292 × 240 pixels | 584 × 480 pixels | 934 × 768 pixels | 1,246 × 1,024 pixels | 2,406 × 1,978 pixels.
Original file (2,406 × 1,978 pixels, file size: 55 KB, MIME type: image/png)
This file is from Wikimedia Commons and may be used by other projects. The description on its file description page there is shown below.
Summary
Source code

This media was created with MATLAB (numerical computing environment)
Here is a listing of the source used to create this file.
Here is a listing of the source used to create this file.
(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
Licensing
| Public domainPublic domainfalsefalse |
| This work has been released into the public domain by its author, Olegalexandrov at English Wikipedia. This applies worldwide. In some countries this may not be legally possible; if so: Olegalexandrov grants anyone the right to use this work for any purpose, without any conditions, unless such conditions are required by law.Public domainPublic domainfalsefalse |
Original upload log
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}}
Captions
Add a one-line explanation of what this file represents
Items portrayed in this file
depicts
56,526 byte
1,978 pixel
2,406 pixel
image/png
32a600c25f56fc1063e8750e1aa58567eccfbc18
File history
Click on a date/time to view the file as it appeared at that time.
| Date/Time | Thumbnail | Dimensions | User | Comment | |
|---|---|---|---|---|---|
| current | 04:23, 25 May 2007 | 2,406 × 1,978 (55 KB) | wikimediacommons>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 |
File usage
The following 2 pages use this file: