Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Info

Desmos is a free online graphing calculator. Some classes at NCSSM require its usage, but it is a tool that any student of mathematics will appreciate. Here are enumerated some of the simple and complex functions of the software you might find useful. If this page is not sufficient, see the Desmos user guide for more information.

Below is a brief description of how to effectively use the Desmos online graphing calculator. Click the images to enlarge them.

Table of Contents

Graphing


Functions

Simple functions of one variable can be graphed in three ways:

  • Typing the equation

    Mathinline
    body--uriencoded--x%5e2

  • Typing

    Mathinline
    bodyy=
    and then the equation
    Mathinline
    body--uriencoded--x%5e3

  • Typing

    Mathinline
    bodyf(x)=
    and then the equation
    Mathinline
    body--uriencoded--\frac%7Bx%5e2%7D%7B7%7D

    Image Modified

Functions can be hidden from the graph by clicking the colored circle to the left of their equation.

Functions can be functions of other functions. For example:

  • Mathinline
    body--uriencoded-- f(x)=x%5e%7B2%7D

  • Mathinline
    bodyg(x)=f(x+1)

Functions can be graphed with

Mathinline
bodyx
in terms of
Mathinline
bodyy
Mathinline
body--uriencoded--x=%7B\sqrt %7B1-y%5e%7B2%7D%7D%7D

Image Modified

Functions can be of multiple variables. For example,

Mathinline
body--uriencoded--g(a,b)=a%5e%7B2%7D+b
and 
Mathinline
body h(a)=g(a,3)
.

Parametric Equations

In Desmos you can graph parametric equations. The standard form of this is 

Mathinline
body(f(t),g(t))
. For example, 
Mathinline
body(sin(2t),cos(3t))
. It is necessary to use the variable 
Mathinline
bodyt
 in order for the equation to be interpreted as a parametric equation.

Image Modified


Implicit Functions

Solutions of equations involving

Mathinline
bodyx
and
Mathinline
bodyy
can be plotted without solving for
Mathinline
bodyx
or
Mathinline
bodyy
.

Image Modified

Points and Tables

Points can be graphed in two ways. One way is by clicking the plus in the upper left, and then selecting table. Points can be added manually, or pasted in from an outside source, such as Logger Pro. The points will appear on the graph, but the viewport will not scale to accommodate them. To do this, see Resizing the viewport.

Image Modified

For an interactive demonstration of how to add points to a table, click here.

The other way to graph points is by adding them in the form 

Mathinline
body(1,4)
.

Movable points can be graphed by setting one or both of the parameters to variables:

Mathinline
body(1,g)
. Movable points can be moved either with the sliders or by clicking and dragging the point. You can restrict a movable point to being on a function by graphing it in the form 
Mathinline
body(a,f(a))
.

You can add multiple points by separating them with commas, like so: 

Mathinline
body(2,5),(3,10)
. Points added this way cannot be accessed as a list of x and y values, unlike points in a table.

Image Modified

Variables and Sliders

Sometimes, for example, when looking for the value of a constant or seeing how a function reacts to a change in one of its parts, it is useful to use a slider. Sliders represent a named variable.

To add a slider, write a function with a free variable, such as 

Mathinline
bodyy=mx
, then click on "add slider: m".

Image Modified

Another way to add variables is to type the variable letter, "=", and then a starting value. For example, 

Mathinline
body d=100.42
.

Clicking on either of the constraints of a slider allows you to set the minimum, maximum, and step values.

For an interactive demonstration of how to use sliders, click here.

Regressions (Linear, quadratic, etc)

Performing regression analysis of data in Desmos is simple. First, enter the data points in a table as explained in Graphing Points.

Next, decide on the type of regression. If you want to do a linear regression, the equation would take the form 

...

Mathinline
bodyy=mx+b

...

. If you want a quadratic regression, the equation would look like 

...

Mathinline
body--uriencoded--y=ax%5e%7B2%7D+bx+c

...

. The enterprising student can extrapolate this to any form they would like, such

...

as

Mathinline
body--uriencoded--y=e%5e%7Bm%7Dx+bx
.

After you have decided the form your equation should take, substitute "

...

Mathinline
bodyy
" with "
Mathinline
body--uriencoded--y_%7B1%7D
", "
Mathinline
bodyx
" with "
Mathinline
body--uriencoded--x_%7B1%7D
", and "
Mathinline
body=
" with 
Mathinline
body\sim
. For example, to do a linear regression, you would enter 

...

Mathinline
body--uriencoded--y_%7B1%7D\sim mx_

...

%7B1%7D+b

...

. This is saying: "find the constant values m and b that best satisfy 

...

Mathinline
bodyy=mx+b

...

for every 
Mathinline
bodyx
 and 
Mathinline
bodyy
 in my table, where 

...

Mathinline
body--uriencoded--x=x_

...

%7B1%7D
 and 
Mathinline
body--uriencoded--y=y_

...

%7B1%7D
. See the examples below for a demonstration.

Image ModifiedImage Modified

Desmos will find the best constants that fit the points and function you put in. The value of each constant is shown under your function entry. As you can see, the function it finds is not always in the correct form. (This is because you provide the form, Desmos only finds the best values for the free variables that it can.) Above, the same points were used, but a line and a parabola were both found. The equation you get out is only as good as the equation form you put in.

One way to check whether the form of the function is correct is to plot the residuals, and see if there is a pattern. If you see a clear trend, such as the residuals moving in a straight line, parabola, or sinusoidal curve, you know you chose the wrong function to model your data, even if the r-value is small.

See Desmos regressions tour for an interactive demonstration for plotting regressions.

Restrictions

It can be useful to restrict the domain or range of a function. To do this, add a restriction of the form 

...

Mathinline
body--uriencoded--\left\

...

%7B2<x<8\right\

...

%7D
directly onto the end of a function. This works with any variable: for a function of {\displaystyle c} where c should be greater than 4, type 

...

Mathinline
body--uriencoded--\left\

...

%7Bc>4\right\

...

%7D
.

Image Modified

Inequalities

Desmos also has the capability to graph inequalities. Simple inequalities are easy: type an expression followed by a comparison sign (e.g. 

...

Mathinline
body<
Mathinline
body>=
) and then a value. For example, 

...

Mathinline
body3x<4
. A slightly more complicated example might be 

...

Mathinline
body--uriencoded--x%5e%7B2%7D>y>2

Image Modified

You can also use this on functions you define. For example, say you're modeling compound interest, and want to set up an inequality for the space under the curve. To do this, define a function for amount given time, 

...

Mathinline
bodyA(t)

...

, and an inequality 

...

Mathinline
body0<y<A(x)

...

. Notice the use of 

...

Mathinline
bodyx
 instead of 
Mathinline
bodyt
. Desmos is picky about variables, and for inequalities it implicitly defines
Mathinline
bodyx
and
Mathinline
bodyy
as the input and output.

Image Modified

We can use this powerful tool in tandem with restrictions. To graph the area between functions 

...

Mathinline
bodyf(x)

...

 and 
Mathinline
bodyg(x)

...

, all we have to do is type 

...

Mathinline
body--uriencoded--f\left(x\right)<g\left(x\right)\left\

...

%7Bg\left(x\right)>y>f\left(x\right)\right\

...

%7D
.

Image Modified

Built-in Functions and Symbols

Desmos comes with many built in functions and symbols. Here are some of the documented and undocumented ones. Most of these can be accessed by opening the keyboard and clicking "functions".

Variables

Input

Result

Explanation

theta

Mathinline
body\theta

A variable, like 

Constants

Input

Result

Explanation

pi

Mathblock
alignmentcenter
\pi

The constant 3.14...

tau

...

Mathblock
alignmentcenter
\tau

The constant 6.28...

e

...

Mathblock
e

The constant 2.71...

Exponent and Log Functions

Input

Result

Explanation

exp(x)

exp(x)

Mathinline
body--uriencoded--e%5ex

ln(x)

ln(x)

The natural log of x

log(x)

log(x)

The log (base 10) of x

log_n(x)

...

Mathblock
log_n x

The log (base n) of x

x^n

...

Mathblock
alignmentcenter
x^n

x to the nth power

sqrtx

Mathblock
\sqrt{x}

The square root of x

nthrootx

Mathblock
\sqrt[\leftroot{-3}\uproot{3}n]{x}

The generalized root function.

Precalculus and Calculus Functions

Input

Result

Explanation

sum

Mathblock
\sum_{n=}

The summation operator

prod

Mathblock
alignmentcenter
\prod_{n=}

The product operator.

int

Mathblock
alignmentcenter
\int

The integral operator.

d/dx

Mathblock
alignmentcenter
\frac{d}{dx}

The differential operator. Can be used on functions.

Trig Functions

sin(x)

arcsin(x) or 

Mathinline
body--uriencoded--\sin%5e%7B-1%7Dx

sinh(x)

cos(x)

arccos(x) or 

Mathinline
body--uriencoded--\cos%5e%7B-1%7Dx

cosh(x)

tan(x)

arctan(x) or 

Mathinline
body--uriencoded--\tan%5e%7B-1%7Dx

tanh(x)

sec(x)

arcsec(x) or 

Mathinline
body--uriencoded--\sec%5e%7B-1%7Dx

sech(x)

csc(x)

arccsc(x) or 

Mathinline
body--uriencoded--\csc%5e%7B-1%7Dx

csch(x)

cot(x)

arccot(x) or 

Mathinline
body--uriencoded--\cot%5e%7B-1%7Dx

coth(x)

Stats and Probability Functions

Function

Explanation

total()

Sum of all elements in a list

length()

Number of elements in a list

mean()

Mean of a list

median()

Median element in a list

min()

Minimum element in a list

max()

Maximum element in a list

quantile()

The quantile function

mad()

Mean absolute deviation

stdev()

Sample standard deviation

stdevp()

Population standard deviation

var()

Variance

cov()

Covariance

corr()

Pearson correlation coefficient of two lists

nCr()

Number of combinations

nPr()

Number of permutations

Mathinline
body!

Factorial

Miscellaneous Functions

Input

Explanation

lcm(a,b)

The least common multiple of a and b

gcd(a,b)

The greatest common denominator of a and b

mod(a, b)

The modulo function

ceil(x)

The closest integer above x

floor(x)

The closest integer below x

round(x)

The closest integer to x

sign(x)

The sign of x

abs(x)

The absolute value function

Mathinline
body\mid x \mid

The absolute value operator

a%b

a percent of b

Making graphs easier to read

Resizing the viewport

The viewport (the section of the coordinate plane visible onscreen) can be resized to give a better view of your data and functions. One way to resize it is to scroll down to zoom out, and up to zoom in, and to click and drag to move. This method, however, keeps the ratio of the domain and range constant. Sometimes it is useful to be able to zoom to an arbitrary window.


To do this, click the wrench in the top right corner (graph settings). After this, a window will appear. In this window, there are inequalities for 

Mathinline
bodyx
and 
Mathinline
bodyy
 (
Mathinline
bodya\leq x\leq b
 and
Mathinline
bodyc\leq y\leq d
) which can be edited to resize the viewport with the domain set by
Mathinline
bodyx
 and range set by
Mathinline
bodyy
.

Image Modified

Changing line colors/styles

If you have many functions graphed, it can be useful to change their appearance. To do this, perform a long left click on the icon to the left of the function definition. From here, you may change the style to dashed, dotted, or unbroken, and the color to one of six options.

Image Modified

Projector mode

When saving images for reports or projects, it can be useful to have thicker, fuller lines and larger text. To enable this, go to graph settings and enable "Projector Mode".

Image Modified
Filter by label (Content by label)
showLabelsfalse
max5
spacescom.atlassian.confluence.content.render.xhtml.model.resource.identifiers.SpaceResourceIdentifier@11c88
sortmodified
showSpacefalse
reversetrue
typepage
cqllabel in ( "graphing" , "graphs" , "online" , "calculator" , "functions" , "math" ) and type = "page" and space = "ITS"
labelsgraphing math online calculator graphs functions

...

hiddentrue

...