Making Tables of Values
You can use lists as tables of values. You can generate the tables, for example, by evaluating an expression for a sequence of different parameter values.
This gives a table of the values of i2, with i running from 1 to 6.
| Out[1]= |  |
|
Here is a table of sin (n/5) for n from 0 to 4.
| Out[2]= |  |
|
This gives the numerical values.
| Out[3]= |  |
|
You can also make tables of formulas.
| Out[4]= |  |
|
| Out[5]= |  |
|
This makes a table with values of x running from 0 to 1 in steps of 0.25.
| Out[6]= |  |
|
You can perform other operations on the lists you get from Table.
| Out[7]= |  |
|
TableForm displays lists in a "tabular" format. Notice that both words in the name TableForm begin with capital letters.
Out[8]//TableForm= |
| |  |
|
All the examples so far have been of tables obtained by varying a single parameter. You can also make tables that involve several parameters. These multidimensional tables are specified using the standard
Mathematica iterator notation, discussed in
"Sums and Products".
This makes a table of x i+y j with i running from 1 to 3 and j running from 1 to 2.
| Out[9]= |  |
|
The table in this example is a
list of lists. The elements of the outer list correspond to successive values of
i. The elements of each inner list correspond to successive values of
j, with
i fixed.
Sometimes you may want to generate a table by evaluating a particular expression many times, without incrementing any variables.
This creates a list containing four copies of the symbol x.
| Out[10]= |  |
|
This gives a list of four pairs of numbers sampled from {1, 2, 3, 4}. Table re-evaluates RandomSample[{1, 2, 3, 4}, 2] for each element in the list, so that you get four different samples.
| Out[11]= |  |
|
This evaluates  for each of the values of i in the list {1, 4, 9, 16}.
| Out[12]= |  |
|
This creates a 3×2 table.
| Out[13]= |  |
|
In this table, the length of the rows depends on the more slowly varying iterator variable, i.
| Out[14]= |  |
|
You can use
Table to generate arrays with any number of dimensions.
This generates a three-dimensional 2×2×2 array. It is a list of lists of lists.
| Out[15]= |  |
|
| Table[f,{imax}] | give a list of imax values of f |
| Table[f,{i,imax}] | give a list of the values of f as i runs from 1 to imax |
| Table[f,{i,imin,imax}] | give a list of values with i running from imin to imax |
| Table[f,{i,imin,imax,di}] | use steps of di |
| Table[f,{i,imin,imax},{j,jmin,jmax},...] |
| generate a multidimensional table |
| Table[f,{i,{i1,i2,...}] | give a list of the values of f as i successively takes the values i1, i2, ... |
| TableForm[list] | display a list in tabular form |
Functions for generating tables.
You can use the operations discussed in
"Manipulating Elements of Lists" to extract elements of the table.
This creates a table and gives it the name sq.
| Out[16]= |  |
|
This gives the third part of the table.
| Out[17]= |  |
|
This gives a list of the third through fifth parts.
| Out[18]= |  |
|
This creates a 2×2 table, and gives it the name m.
| Out[19]= |  |
|
This extracts the first sublist from the list of lists that makes up the table.
| Out[20]= |  |
|
This extracts the second element of that sublist.
| Out[21]= |  |
|
This does the two operations together.
| Out[22]= |  |
|
This displays m in a "tabular" form.
Out[23]//TableForm= |
| |  |
|
| t[[i]] or Part[t,i] | give the ith sublist in t (also input as t i ) |
| t[[i;;j]] or Part[t,i;;j] | give a list of the parts i through j |
| t[[{i1,i2,...}]] or Part[t,{i1,i2,...}] |
| give a list of the i1th, i2th, ... parts of t |
| t[[i,j,...]] or Part[t,i,j,...] |
| give the part of t corresponding to t[[i]][[j]]... |
Ways to extract parts of tables.
As mentioned in
"Manipulating Elements of Lists", you can think of lists in
Mathematica as being analogous to "arrays". Lists of lists are then like two-dimensional arrays. When you lay them out in a tabular form, the two indices of each element are like its
x and
y coordinates.