This notebook uses some Mathematica to create animations that help in understanding limits. At this point, I do not expect you to understand all the Mathematica commands that are used, but I want you to see them since the commands are not too complicated.

We are investigating the limit as x approaches a of f(x) equals L:

(lim_(x->a))[f(x)]=L

for a variety of functions y=f(x), and focussing on what is happening as we let x->a. In some cases, the limit does not exist (values of f(x) can not be made sufficiently close to L by taking x sufficiently close to a).

Notice that the limit is an operator, since it is operating on f(x). I will often use square brackets [ ] to indicate what the limit is acting on.

In Section 2.3 we will learn how to evaluate limits.

2.2 Understanding Limits

Limits (lim_(x->a))[f(x)]=L for a Polynomial Function

f1[x_]:=4x^3 -200x+ 100;

plot1=Plot[f1[x],{x,-10,10},PlotStyle->{Thick,Blue}];

dot1x[x_]:=Graphics[{Red,Text[a,{x,0},{0,-1}]}]
dot1y[x_]:=Graphics[{Blue,Text[L,{0,f1[x]},{-1,0}]}]
dot1f[x_]:=Graphics[{Purple,Disk[{x,f1[x]},{0.5,100}]}]
line1[x_]:=Graphics[{Dashed,Thick,Line[{{x,0},{x,f1[x]},{0,f1[x]}}]}]

Manipulate[
Show[plot1,dot1x[x],dot1y[x],dot1f[x],line1[x],PlotRange->{{-10,10},{-2000,2100}},BaseStyle->Large,AspectRatio->1,AxesLabel->{"x","y"}]
,{x,-10,10,0.1}]

Here is an animation of the limit for a polynomial function. For a polynomial, we can evaluate the limit by direct substitution (Section 2.3).

(lim_(x->a))[f(x)]=L

Limits (lim_(x->a))[f(x)]for a Piecewise Function does not exist when left-hand limit does not equal right-hand limit

f5[x_]:=Piecewise[{{x^2/20-2,x≤1},{x+3,x>1}}];

plot5=Plot[{f5[x]},{x,-20,20},PlotStyle->{{Thick,Blue}},PlotRange->All];

dot5x[x_]:=Graphics[{Red,Text[a,{x,0},{0,-1}]}]
dot5y[x_]:=Graphics[{Blue,Text[L,{0,f5[x]},{-1,0}]}]
dot5f[x_]:=Graphics[{Purple,Disk[{x,f5[x]},{0.5,0.5}]}]
line5[x_]:=Graphics[{Dashed,Line[{{x,0},{x,f5[x]},{0,f5[x]}}]}]

Manipulate[
Show[plot5,dot5x[x],dot5y[x],dot5f[x],line5[x],PlotRange->{{-10,10},{-10,10}},BaseStyle->Large,AspectRatio->1,AxesLabel->{"x","y"}]
,{x,-10,10,0.01}]

The limit is not the same if we approach x=1 from the left or the right. The limit at other values of a exists in this example.

(lim_(x->a))[f(x)]=L when a≠1
(lim_(x->(SuperPlus[1])))[f(x)]=4
(lim_(x->(SuperMinus[1])))[f(x)]=-2
(lim_(x->1))[f(x)]does not exist

Infinite Limits (lim_(x->a))[f(x)]=∞ and (lim_(x->a))[f(x)]=-∞ for a Rational Function with Vertical Asymptote

f2[x_]:=((20(((x+1))^4))/((x-1)));

plot2=Plot[f2[x],{x,-10,10},PlotStyle->{Thick,Blue},PlotRange->All];

dot2x[x_]:=Graphics[{Red,Text[a,{x,0},{0,-1}]}]
dot2y[x_]:=Graphics[{Blue,Text[L,{0,f2[x]},{-1,0}]}]
dot2f[x_]:=Graphics[{Purple,Disk[{x,f2[x]},{0.25,100}]}]
line2[x_]:=Graphics[{Dashed,Line[{{x,0},{x,f2[x]},{0,f2[x]}}]}]

Manipulate[
Show[plot2,dot2x[x],dot2y[x],dot2f[x],line2[x],PlotRange->{{-5,5},{-1200,4000}},BaseStyle->Large,AspectRatio->1,AxesLabel->{"x","y"}]
,{x,-5,5,0.01}]

For this rational function, we get an undefined limit as we let x approach 1 since x=1 is a vertical asymptote.

(lim_(x->a))[f(x)]=L when a≠1
(lim_(x->(SuperPlus[1])))[f(x)]=∞ (limit does not exist)
(lim_(x->(SuperMinus[1])))[f(x)]=-∞ (limit does not exist)

2.6 Limits at Infinity (Looking Ahead)

Limits (lim_(x->∞))[f(x)]=L and (lim_(x->-∞))[f(x)]=L for a Rational Function with Horizontal Asymptote

f3[x_]:=((1000(x+1))/((x-1)));

plot3=Plot[{f3[x],1000},{x,-20,20},PlotStyle->{{Thick,Blue},{Dashed,Thick,Orange}},PlotRange->All];

dot3x[x_]:=Graphics[{Red,Text[a,{x,0},{0,-1}]}]
dot3y[x_]:=Graphics[{Blue,Text[L,{0,f3[x]},{-1,0}]}]
dot3f[x_]:=Graphics[{Purple,Disk[{x,f3[x]},{1.0,100}]}]
line3[x_]:=Graphics[{Dashed,Line[{{x,0},{x,f3[x]},{0,f3[x]}}]}]

Manipulate[
Show[plot3,dot3x[x],dot3y[x],dot3f[x],line3[x],PlotRange->{{-20,20},{-1200,4000}},BaseStyle->Large,AspectRatio->1,AxesLabel->{"x","y"}]
,{x,-20,20,0.01}]

This function has a horizontal asymptote of y=1000, so we have

(lim_(x->a))[f(x)]=L when a≠1
(lim_(x->(SuperPlus[1])))[f(x)]=∞ (limit does not exist)
(lim_(x->(SuperMinus[1])))[f(x)]=-∞ (limit does not exist)
(lim_(x->∞))[f(x)]=1000
(lim_(x->-∞))[f(x)]=1000

Limits (lim_(x->∞))[f(x)]=L and (lim_(x->-∞))[f(x)]=L for a Rational Function with Slant Asymptote

f4[x_]:=((100(((x+1))^2))/((x-1)));

plot4=Plot[{f4[x],100x+300},{x,-20,20},PlotStyle->{{Thick,Blue},{Dashed,Thick,Orange}},PlotRange->All];

dot4x[x_]:=Graphics[{Red,Text[a,{x,0},{0,-1}]}]
dot4y[x_]:=Graphics[{Blue,Text[L,{0,f4[x]},{-1,0}]}]
dot4f[x_]:=Graphics[{Purple,Disk[{x,f4[x]},{1.0,100}]}]
line4[x_]:=Graphics[{Dashed,Line[{{x,0},{x,f4[x]},{0,f4[x]}}]}]

Manipulate[
Show[plot4,dot4x[x],dot4y[x],dot4f[x],line4[x],PlotRange->{{-20,20},{-2200,3000}},BaseStyle->Large,AspectRatio->1,AxesLabel->{"x","y"}]
,{x,-20,20,0.01}]

(lim_(x->a))[f(x)]=L when a≠1
(lim_(x->(SuperPlus[1])))[f(x)]=∞ (limit does not exist)
(lim_(x->(SuperMinus[1])))[f(x)]=-∞ (limit does not exist)
(lim_(x->∞))[f(x)]=∞ (limit does not exist)
(lim_(x->-∞))[f(x)]=-∞ (limit does not exist)