This is a file from the Wikimedia Commons

File:Cauchy sequence illustration2.svg

From Wikipedia, the free encyclopedia
Jump to navigation Jump to search
Original file(SVG file, nominally 305 × 170 pixels, file size: 50 KB)
Description
English: Illustration of en:Cauchy sequence
Date
Source Based on File:Cauchy_sequence_illustration2.png by Oleg Alexandrov
Author Own work
Public domain I, the copyright holder of this work, release this work into the public domain. This applies worldwide.
In some countries this may not be legally possible; if so:
I grant anyone the right to use this work for any purpose, without any conditions, unless such conditions are required by law.


Source Codes[edit]

Matlab Logo.png
This diagram was created with MATLAB:

Matlab

% draw an illustration of a sequence that is not Cauchy
function main() 

% prepare the screen and define some parameters   
   figure(1); clf; hold on; axis equal; axis off;

   fontsize=30; thick_line=3; thin_line=2;
   black=[0, 0, 0]; red=[1, 0, 0]; blue=[0, 0, 1];
   arrowsize=0.5; arrow_type=1; arrow_angle=30; % (angle in degrees)
   circrad=0.07; % radius of ball showing up in places


   B=9;
   X=0:0.06:B;

   f=inline('(X+2)./(X+0.8)', 'X');
   Y=sin(5*X).*f(X);

   for i=1:length(X)
	  ball(X(i), Y(i), circrad, blue);
   end

   X=0:0.05:(B+0.3);
   Z=f(X);
   plot(X, Z, 'r--', 'linewidth', thin_line)
   plot(X, -Z, 'r--', 'linewidth', thin_line)


   % draw the coordinate axes
   shift=-3;
   Kx=1.1; Ky=1.3; 
   L=max(Y); 
   arrow([-1 shift], [Kx*B, shift],  thin_line, arrowsize, arrow_angle, arrow_type, black) 
   arrow([-1, shift], [-1, Ky*L],    thin_line, arrowsize, arrow_angle, arrow_type, black) 


   text(Kx*B+0.6, shift,  '\it{n}', 'fontsize', fontsize, 'HorizontalAlignment', 'c')
   text(-1, Ky*L+0.8,  '\it{x_n}', 'fontsize', fontsize, 'HorizontalAlignment', 'c')

   % save to disk
   saveas(gcf, 'Cauchy_sequence_illustration2.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, th, arrow_size, sharpness, arrow_type, color)
   
% Function arguments:
% start, stop:  start and end coordinates of arrow, vectors of size 2
% th:           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', th, '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', th, 'Color', color); 
      plot(real([stop, point1]), imag([stop, point1]), 'LineWidth', th, 'Color', color);
      plot(real([stop, point2]), imag([stop, point2]), 'LineWidth', th, 'Color', color);
   end

Python

from matplotlib.pyplot import *
from mpl_toolkits.axes_grid.axislines import SubplotZero
from numpy import arange, sin

x1 = arange(0.,9.1,.05)
x2 = arange(0.,9.6,.1)
z = lambda x: (x+2.) / (x+.8)
y = lambda x: sin(5.*x) * z(x)

fig = figure(figsize=(4,2))
ax = SubplotZero(fig,111)
fig.add_subplot(ax)

ax.axis["top"].set_visible(False)
ax.axis["right"].set_visible(False)
ax.axis["left"].set_axisline_style("->")
ax.axis["bottom"].set_axisline_style("->")
ax.set_yticks([])
ax.set_xticks([])
ax.set_xlim(-1,10)
ax.set_ylim(-3,3)

ax.plot(x1,y(x1),'bo',ms=2.5)
ax.plot(x2, z(x2),'r--',lw=1.5)
ax.plot(x2,-z(x2),'r--',lw=1.5)

ax.text(10,-2.8,u'$n$')
ax.text(-.75,3,u'$X_n$')
fig.savefig("test.svg",bbox_inches="tight",pad_inches=.15)

File history

Click on a date/time to view the file as it appeared at that time.

Date/TimeThumbnailDimensionsUserComment
current03:54, 9 September 2011Thumbnail for version as of 03:54, 9 September 2011305 × 170 (50 KB)KrishnavedalaWith text corrected and much smaller file size
09:05, 11 February 2011Thumbnail for version as of 09:05, 11 February 2011512 × 317 (186 KB)Reubotcrop viewbox
14:35, 10 February 2011Thumbnail for version as of 14:35, 10 February 2011512 × 384 (186 KB)Reubot{{Information |Description ={{en|1=Illustration of en:Cauchy sequence}} |Source =Based on File:Cauchy_sequence_illustration2.png by Oleg Alexandrov |Author ={{own}} |Date =2011-02-11 |Permiss
The following pages on the English Wikipedia link to this file (pages on other projects are not listed):

Global file usage

The following other wikis use this file: