→ TI-83/84/89 → Adding Vectors
Updated 28 Dec 2016 (What’s New?)

How to Add Vectors Graphically on TI-83/84

Copyright © 2004–2024 by Stan Brown,

Summary: You can add vectors (or complex numbers) graphically on your TI-83 or TI-84 with a simple program, presented here. The hard part, also presented here, is automatically adjusting all the window parameters to show the vectors in proper perspective.

VECADD will prompt for two vectors, then display the result vector numerically and graphically. You can enter the vectors in component form or length-magnitude form. The program gives the result vector’s components, length, and magnitude.

See also: If you don’t want the graphics, you can treat the vectors as complex numbers in a+bi form and just add them. Complex Numbers on TI-83/84 explains.

Getting the Program

If you have the TI Connect or TI Graph Link software, you can download the program from this ZIP file (25 KB, revised 28 Dec 2016), unzip it to any convenient directory, and download it to your TI-83 or TI-84.

Otherwise, you can enter the program manually, as shown below.

Running the Program

Because this program helps you,
please click to donate!
Because this program helps you,
please donate at

Press the [PRGM] key, and select VECADD; see prgmVECADD appear on your home screen. Press [ENTER] to run the program.

Example: vectors [3,−8] and [5,6].

  1. When prompted, enter the components of the two input vectors.
  2. VECADD shows you the components, length, and angle of the result vector. (The angle will be between −180° and 180°, or between −π and π, depending on whether you selected degrees or radians on the Mode screen.)
  3. Then when you press [ENTER], VECADD shows you the two input vectors and the result. The program automatically adjusts the screen margins, aspect ratio, and grid spacing.

input screen for VECADD: X1=3,Y1=minus 8, X2=5, Y2=6   numeric output screen for VECADD: x=8, y=minus 2, R=8.2462, theta=minus 14.0362 degrees   graphical output screen for VECADD: vector addition by parallelogram

You can redisplay the numbers by pressing [2nd MODE makes QUIT], then return to the graph by pressing [GRAPH].

Example: vectors 15.00∠38° and 27.00∠130°. The VECADD program can deal with vectors in length-angle form — you just enter the x as (length) cos(angle) and the y as (length) sin(angle). The calculator computes and displays the input vectors in component form.

As before, the result vector is displayed both as components and in length-angle form, 30.43∠100.5° in this case. On the graphical display, the grid spacing is automatically adjusted to dots every 10 units.

input screen for VECADD: X1=15 cos 38, Y1=minus 15 sin 38, X2=27 cos 130, Y2=27 sin 130   numeric output screen for VECADD: x=minus 5.535, y=29.92, R=30.43, theta=100.5 degrees   graphical output screen for VECADD: vector addition by parallelogram

Entering the Program

It’s easiest to download the program, if you have the TI Connect or TI Graph Link software. Failing that, you can keyboard it following these instructions.

If you’re not familiar with TI-83/84 programming instructions, you might want to practice first with a shorter program, like the quadratic equation solver.

The program VECADD divides into four phases:

  1. Get components of the two input vectors.
  2. Compute and display components of the result.
  3. Compute window parameters for graphical display.
  4. Add the vectors graphically.

I’ll show you each phase, discuss the meaning of the instructions, and tell you which keystrokes to use where they’re not obvious.

Phase 1 — Get components of input vectors.

Create a new program and assign it a name, such as VECADD. [PRGM] [] [] [ENTER]
Press the keys for the green letters in VECADD. For instance, green V is above the [6] key, so you press [6] and see the V appear on screen.
After typing in the program name, press [ENTER].
Each vector has an x and a y component. It would be logical to call them X1,Y1 and X2,Y2, but the TI-83/84 allows only single-letter variables so we’ll use A,B and C,D. Your program starts like this:
Input "X1:",A
Input "Y1:",B
Input "X2:",C
Input "Y2:",D
For the Input command, press [PRGM] [] [1]. Then press these keys:
  • For the quote mark, press [ALPHA + makes "].
  • [ALPHA STO→ makes X]
  • Press [1].
  • [ALPHA . makes :]
  • [ALPHA + makes "] [,]
  • [ALPHA MATH makes A].
  • Press [ENTER] to finish the command.
Enter the other three commands in the same way.
Clear the screen, and show the input vectors for reference. Note the curly braces { }, which make the TI-83/84 keep the components together.
Disp {A,B}
Disp {C,D}
For ClrHome, press [PRGM] [] [8]. Finish with [ENTER], as for every command.
For Disp, press [PRGM] [] [3]. Continue with [2nd ( makes {] [ALPHA MATH makes A] [,] [ALPHA APPS makes B] [2nd ) makes }]. Enter the second Disp command in a similar way.

At this point — actually, at any point — you can press [2nd MODE makes QUIT] to leave the program editor. Later, when you’re ready to continue entering program commands, press [PRGM] [] and select VECADD.

Phase 2 — Display result vector numerically.

Two short lines compute the vector sum. (You store components of the result vector in variables E and F, not X and Y, because the TI-83/84 changes X and Y while drawing lines.)

As with most programs, displaying the results takes more work than computing them! Here you’ll display the result vector in both component form and length-angle form, then prompt the user to continue.

To display the input vectors and compute the result vector, you need to enter these program commands:
To store the x component of the result vector in variable E, type [ALPHA MATH makes A] [+] [ALPHA PRGM makes C] [STO→] [ALPHA SIN makes E].
Repeat to store the y component in variable F.
Next you want to display the output vector’s components, length, and magnitude. To do that, enter these commands:
The Output command is [PRGM] [] [6]. Recall that the quote mark is [ALPHA + makes "] and the colon is [ALPHA . makes :].
For R→Pr, press [2nd APPS makes ANGLE] [5].
θ is [ALPHA 3 makes θ].
For R→Pθ, press [2nd APPS makes ANGLE] [6].
Disp "","","","","    PRESS ENTER"
The Disp command (reminder: [PRGM] [] [3]) starts with four empty strings to move past the output. The “space bar” is [ALPHA]-shifted [0].
[PRGM] [8]

At this point you might want to run the program to make sure that the computations and text displays are correct.

Phase 3 — Compute window parameters for graphical display.

The next phase of the program adjusts the parameters on the Window screen to fit all three vectors on the screen. This is the most complex section of the program, but it’s much better to have the program set up the screen than force the user to do it each time.

3a — Set Xmin, Xmax, Ymin, and Ymax

To begin this phase, set the four screen margins.

Input vector 1 goes from (0,0) to (A,B), vector 2 goes from (0,0) to (C,D), and the result goes from (0,0) to (E,F). The program sets Xmin to the smallest of all those x endpoints and Xmax to the largest, then sets Ymin and Ymax to the smallest and largest y endpoints.

min( ) selects the smallest in a list of numbers, and max( ) selects the largest. Note the braces inside the parentheses, needed to make the TI-83/84 treat the numbers as a list.

min( is [MATH] [] [6]. The left parenthesis appears automatically. For the left brace press [2nd ( makes {], then continue with [0] [,] [ALPHA MATH makes A] [,] [ALPHA PRGM makes C] [,] [ALPHA SIN makes E] [2nd ) makes }] [)]. Store into Xmin with [STO→] [VARS] [1] [1].
The second line is the same, except max( is [MATH] [] [7] and Xmax is [VARS] [1] [2].
In the third and fourth lines, Ymin is [VARS] [1] [4] and Ymax is [VARS] [1] [5].

3b — Set grid spacing

You want some dots on the screen, preferably enough to guide the eye without cluttering up the display. The following computation looks at whether the x or y range is greater and sets between 2 and 20 dots in that direction, sets the other direction to have the same dot spacing, and turns the grid on.

Enter these two lines as one:
int( is [MATH] [] [5]. You know how to do all the rest up to Xscl, which is [VARS] [1] [3].
Yscl is [VARS] [1] [6].
[2nd ZOOM makes FORMAT] [] [] [] [ENTER].

3c — Adjust the aspect ratio

Because the screen isn’t square, the program needs to adjust either the horizontal or the vertical value of a pixel. This is essentially what happens when you do ZSquare (zoom square).

Recall that max( is on the [MATH] [] menu, and braces are [2nd]-shifted parentheses.
ΔX is [VARS] [1] [8], and ΔY is [VARS] [1] [9].

Phase 4 — Add the vectors graphically.

Now that the screen margins and grid have been set up, it’s time to draw the vectors.

Before making the new drawing, the program must clear any previous drawing and turn off any function plots and stat plots:
  • For ClrDraw, press [2nd PRGM makes DRAW] [1].
  • For FnOff (function graphs off), press [VARS] [] [4] [2].
  • For PlotsOff, press [2nd Y= makes STAT PLOT] [4].
Finally, the program will draw five lines: the two input vectors, the other sides of the parallelogram, and the result vector, which is the diagonal of the parallelogram:
For Line(, press [2nd PRGM makes DRAW] [2]. Enter the four arguments and the closing right parentheses. Repeat for the other four lines.
This finishes the program. Leave the program editor by returning to the home screen. [2nd MODE makes QUIT]

Now reap your reward by running the program.

What’s New?

Because this program helps you,
please click to donate!
Because this program helps you,
please donate at

Updates and new info:

Site Map | Searches | Home Page | Contact