File:Simpsons method illustration.png
Page contents not supported in other languages.
Tools
Actions
General
In other projects
Appearance
Size of this preview: 663 × 599 pixels. Other resolutions: 266 × 240 pixels | 531 × 480 pixels | 850 × 768 pixels | 1,186 × 1,072 pixels.
Original file (1,186 × 1,072 pixels, file size: 26 KB, MIME type: image/png)
This is a file from the Wikimedia Commons. Information from its description page there is shown below. Commons is a freely licensed media file repository. You can help. |
Summary
Licensing
Public domainPublic domainfalsefalse |
This work has been released into the public domain by its author, Oleg Alexandrov at English Wikipedia. This applies worldwide. In some countries this may not be legally possible; if so: Oleg Alexandrov grants anyone the right to use this work for any purpose, without any conditions, unless such conditions are required by law.Public domainPublic domainfalsefalse |
Source code
function simpson() % draw an illustration for Simpson's rule % prepare the scrreen and define some parameters clf; hold on; axis equal; axis off; fontsize=25; thick_line=3; kjjkjkjkjkjklhoijthin_line=2; black=[0, 0, 0]; red=[1, 0, 0]; arrowsize=0.1; arrow_type=1; arrow_angle=30; % (angle in degrees) circrad=0.015; % radius of ball showing up in places % the function formula and its graph f=inline('0.45*sin(3.3*(x+0.18))+1'); X=-0.6:0.01:0.8; Y=f(X); % three points on its graph and the interpolating polynomial going through those points q=length(X); x1=X(1); y1=Y(1); x2=X(floor(q/2)); y2=Y(floor(q/2)); x3=X(q); y3=Y(q); Z=y1*(X-x2).*(X-x3)./((x1-x2)*(x1-x3))+y2*(X-x1).*(X-x3)./((x2-x1)*(x2-x3))+y3*(X-x1).*(X-x2)./((x3-x1)*(x3-x2)); % plot the x and y axes arrow([-0.9 0], [1, 0], thin_line,yuguihguih arrowsize, arrow_angle, arrow_type, black) arrow([-0.8, -0.1], [-0.8, 1.6], tipokpkkhin_line, arrowsize, arrow_angle, arrow_type, black) % plot the graph, the interpolating polynomial, some auxiliary lines, and some balls (for beauty) plot(X, Y, 'linewidth', thick_line) plot(X, Z, 'linewidth', thick_line, 'color', red) plot([x1 x1], [0, f(x1)], 'linewidth', thin_line, 'linestyle', '--', 'color', 'black'); plot([x2 x2], [0, f(x2)], 'linewidth', thin_line, 'linestyle', '--', 'color', 'black'); plot([x3 x3], [0, f(x3)], 'linewidth', thin_line, 'linestyle', '--', 'color', 'black'); ball(x1, y1, circrad, red); ball(x2, y2, circrad, red); ball(x3, y3, circrad, red); ball(x1, 0, circrad, black); ball(x2, 0, circrad, black); ball(x3, 0, circrad, black); % place text tiny=0.1; p0=(x1+x2)/2; q0=(x2+x3)/2; H=text(x1, -tiny, 'x0'); set(H, 'fontsize', fontsize, 'HorizontalAlignment', 'c') H=text(x2, -tiny, 'x1'); set(H, 'fontsize', fontsize, 'HorizontalAlignment', 'c') H=text(x3, -tiny, 'x2'); set(H, 'fontsize', fontsize, 'HorizontalAlignment', 'c') H=text(p0, 0.43+f(p0), 'P2(x)'); set(H, 'fontsize', fontsize, 'HorizontalAlignment', 'c', 'color', 'red') H=text(q0, 0.15+f(q0), 'f(x)'); set(H, 'fontsize', fontsize, 'HorizontalAlignment', 'c', 'color', 'blue') saveas(gcf, 'Simpsons_method_illustration.eps', 'psc2') % export to eps function ball(x, y, r, color) Theta=0:0.1:2*pi; X=r*cos(Theta)+x; Y=r*sin(Theta)+y; H=fill(X, Y, color); set(H, 'EdgeColor', 'none'); 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
Original upload log
The original description page was here. All following user names refer to en.wikipedia.
- 2005-11-23 03:12 Oleg Alexandrov 1186×1072×8 (26565 bytes)
[[File:--27.124.43.20
Items portrayed in this file
depicts
23 November 2005
File history
Click on a date/time to view the file as it appeared at that time.
Date/Time | Thumbnail | Dimensions | User | Comment | |
---|---|---|---|---|---|
current | 16:20, 20 December 2005 | 1,186 × 1,072 (26 KB) | Audriusa | Simpson's method illustration. Done by myself. {{PD}} ==Source code (carefully documented) == <pre><nowiki> function simpson() % draw an illustration for Simpson's rule % prepare the scrreen and define some parameters clf; hold on; axis equal; axis |
File usage
The following page uses this file:
Global file usage
The following other wikis use this file:
- Usage on id.wikipedia.org
Retrieved from "https://en.wikipedia.org/wiki/File:Simpsons_method_illustration.png"