## FORMAT Control the Format of Matrix Display

Section: Input/Ouput Functions

### Usage

FreeMat supports several modes for displaying matrices (either through the `disp` function or simply by entering expressions on the command line. There are several options for the format command. The default mode is equivalent to
```   format short
```

which generally displays matrices with 4 decimals, and scales matrices if the entries have magnitudes larger than roughly `1e2` or smaller than `1e-2`. For more information you can use

```   format long
```

which displays roughly 7 decimals for `float` and `complex` arrays, and 14 decimals for `double` and `dcomplex`. You can also use

```   format short e
```

to get exponential format with 4 decimals. Matrices are not scaled for exponential formats. Similarly, you can use

```   format long e
```

which displays the same decimals as `format long`, but in exponential format. You can also use the `format` command to retrieve the current format:

```   s = format
```

where `s` is a string describing the current format.

### Example

We start with the short format, and two matrices, one of double precision, and the other of single precision.
```--> format short
--> a = randn(4)

a =
1.9819   -2.4403    0.3082   -0.8708
0.3885    0.6777   -2.1203   -0.6899
-0.8923   -1.0126   -1.1448   -0.3336
-0.5528   -0.2117   -0.6066    0.1530

--> b = float(randn(4))

b =
1.6282   -0.9987   -0.0002    0.7346
-0.1461   -0.4450    0.3260    0.0591
-0.1927   -0.2583   -0.3209   -1.7827
-0.4694   -0.2961   -0.3487   -0.1476
```

Note that in the short format, these two matrices are displayed with the same format. In `long` format, however, they display differently

```--> format long
--> a

ans =
1.98194242245660  -2.44033999910309   0.30822105452542  -0.87083520854217
0.38848412098646   0.67772654122050  -2.12029702950896  -0.68985792035578
-0.89231827506021  -1.01256221976480  -1.14477420632547  -0.33359041318909
-0.55283586680694  -0.21170713821002  -0.60660544623052   0.15300924745427

--> b

ans =
1.6282195  -0.9986902  -0.0002282   0.7346091
-0.1460750  -0.4449911   0.3259999   0.0591399
-0.1926918  -0.2583237  -0.3208777  -1.7827009
-0.4693597  -0.2961315  -0.3487136  -0.1476461
```

Note also that we we scale the contents of the matrices, FreeMat rescales the entries with a scale premultiplier.

```--> format short
--> a*1e4

ans =

1.0e+04 *
1.9819   -2.4403    0.3082   -0.8708
0.3885    0.6777   -2.1203   -0.6899
-0.8923   -1.0126   -1.1448   -0.3336
-0.5528   -0.2117   -0.6066    0.1530

--> a*1e-4

ans =

1.0e-04 *
1.9819   -2.4403    0.3082   -0.8708
0.3885    0.6777   -2.1203   -0.6899
-0.8923   -1.0126   -1.1448   -0.3336
-0.5528   -0.2117   -0.6066    0.1530

--> b*1e4

ans =

1.0e+04 *
1.6282   -0.9987   -0.0002    0.7346
-0.1461   -0.4450    0.3260    0.0591
-0.1927   -0.2583   -0.3209   -1.7827
-0.4694   -0.2961   -0.3487   -0.1476

--> b*1e-4

ans =

1.0e-04 *
1.6282   -0.9987   -0.0002    0.7346
-0.1461   -0.4450    0.3260    0.0591
-0.1927   -0.2583   -0.3209   -1.7827
-0.4694   -0.2961   -0.3487   -0.1476
```

Next, we use the exponential formats:

```--> format short e
--> a*1e4

ans =
1.9819e+04 -2.4403e+04  3.0822e+03 -8.7084e+03
3.8848e+03  6.7773e+03 -2.1203e+04 -6.8986e+03
-8.9232e+03 -1.0126e+04 -1.1448e+04 -3.3359e+03
-5.5284e+03 -2.1171e+03 -6.0661e+03  1.5301e+03

--> a*1e-4

ans =
1.9819e-04 -2.4403e-04  3.0822e-05 -8.7084e-05
3.8848e-05  6.7773e-05 -2.1203e-04 -6.8986e-05
-8.9232e-05 -1.0126e-04 -1.1448e-04 -3.3359e-05
-5.5284e-05 -2.1171e-05 -6.0661e-05  1.5301e-05

--> b*1e4

ans =
1.6282e+04 -9.9869e+03 -2.2825e+00  7.3461e+03
-1.4608e+03 -4.4499e+03  3.2600e+03  5.9140e+02
-1.9269e+03 -2.5832e+03 -3.2088e+03 -1.7827e+04
-4.6936e+03 -2.9613e+03 -3.4871e+03 -1.4765e+03

--> b*1e-4

ans =
1.6282e-04 -9.9869e-05 -2.2825e-08  7.3461e-05
-1.4608e-05 -4.4499e-05  3.2600e-05  5.9140e-06
-1.9269e-05 -2.5832e-05 -3.2088e-05 -1.7827e-04
-4.6936e-05 -2.9613e-05 -3.4871e-05 -1.4765e-05
```

Finally, if we assign the `format` function to a variable, we can retrieve the current format:

```--> format short
--> t = format

t =
short
```