## Some assorted MATLAB functions

Here I collect some old functions I wrote for MATLAB and still find useful at times.

For all the functions below, the licensing is simple: do whatever you want with the code, but don’t blame me if anything goes wrong.

## Statistics

`percentile`

— Percentile value of input array. Missing from the MATLAB toolbox (the
statistics toolbox has `prctile`). I copied `median`

and modified it a bit, so it’s mostly code by The MathWorks.

`student_t`

— Returns the right-critical value of the Student distribution for
a=0.025 and any number of degrees of freedom. Use this to compute the 95% confidence interval of the mean of a set of
samples, as done by confidenceinterval (below).

`confidenceinterval`

— Returns the right-critical value for the 95%
confidence interval of the location of the mean of a set of samples (requires `student_t`

, above).

## Plotting

`prettyplot`

— Prettier linear plot. Works just like plot, but avoids the line and
markers being on top of each other. Instead, the line joins the markers without touching them.

`boxplot`

— Elegant box plot, looks a lot better than what MATLAB’s own `boxplot`
command produces (in its statistics toolbox). Plots grouped data as a box with whiskers, indicating min, 25th
percentile, median, 75th percentile, and max. Optionally plots outliers (points outside of 1.5 IQR) as dots.

`movelegend`

— Moves the legend of an axes to one of the positions defined in
legend. legend doesn’t allow to move the legend once it’s created, so here you have. [This is really old, I don’t know
if it still works with the new graphics engine.]

## Other

`np2`

— Next higher power of 2. `np2`

is the same as `nextpow2`

, except that it can work on
arrays.

`cell2str`

— Convert cell array into evaluable string. This one is missing in the
MATLAB toolbox. Similar to `mat2str`

. It should be possible to rename this as `@cell/mat2str.m`

.

`mvfield`

— Rename structure field. This one is also missing in the MATLAB toolbox.
Goes well together with `rmfield`

.