# Examples

Runnable demos, one task each. They ship inside the toolbox but aren’t on the MATLAB path. Add
them:

```matlab
addpath(fullfile(fileparts(fileparts(which('nominal.Client'))), 'examples'))
```

Every demo connects with your default profile (see [Authenticating](https://dev.nominal.io/matlab/guides/authenticating.md))
and leaves its results in the base workspace as a struct:

```matlab
nominalexample_uploaddemo
nominalexample_analysisdemo(nominalUpload.WrittenDatasetRid)

plot(nominalAnalysis.Samples.Time, nominalAnalysis.Samples.(1))
```

The demos create throwaway assets named `nominal-matlab-demo-<timestamp>`, so you can run them
repeatedly. Pass an asset name to use an existing one: `nominalexample_assetdemo("<asset name>")`.

## Demos

- [All demos](https://dev.nominal.io/matlab/examples/nominalexample_alldemos.md): `nominalexample_alldemos`. Run every demo against one throwaway asset.
- [Assets](https://dev.nominal.io/matlab/examples/nominalexample_assetdemo.md): `nominalexample_assetdemo`. Exercise every asset operation.
- [Datasets and units](https://dev.nominal.io/matlab/examples/nominalexample_datasetdemo.md): `nominalexample_datasetdemo`. Exercise dataset operations and channel metadata.
- [Runs](https://dev.nominal.io/matlab/examples/nominalexample_rundemo.md): `nominalexample_rundemo`. Exercise every run operation.
- [Events](https://dev.nominal.io/matlab/examples/nominalexample_eventdemo.md): `nominalexample_eventdemo`. Exercise event creation and accessors.
- [Writing and ingesting](https://dev.nominal.io/matlab/examples/nominalexample_uploaddemo.md): `nominalexample_uploaddemo`. Getting data in: from a .mat file, and from a CSV.
- [Streaming](https://dev.nominal.io/matlab/examples/nominalexample_streamdemo.md): `nominalexample_streamdemo`. End-to-end streaming: open, write, tear down.
- [Reading data back](https://dev.nominal.io/matlab/examples/nominalexample_analysisdemo.md): `nominalexample_analysisdemo`. Reading data out: discovery, fetch, export, SQL.

## Helpers

Small functions the demos call.

- [Helper: connect](https://dev.nominal.io/matlab/examples/nominalexample_connect.md): `nominalexample_connect`. Connect with the default profile and say who you are.
- [Helper: publish results](https://dev.nominal.io/matlab/examples/nominalexample_publish.md): `nominalexample_publish`. Leave a demo’s results where they can be inspected.
