# Time-Domain Response Data and Plots

This example shows how to obtain step and impulse response data, as well as step and impulse response plots, from a dynamic system model.

Create a transfer function model and plot its response to a step input at $t$ = 0.

```H = tf([8 18 32],[1 6 14 24]); step(H);```

When call `step` without output arguments, it plots the step response on the screen. Unless you specify a time range to plot, `step` automatically chooses a time range that illustrates the system dynamics.

Calculate the step response data from $t$ = 0 (application of the step input) to $t$ = 8 s.

`[y,t] = step(H,8);`

When you call `step` with output arguments, the command returns the step response data `y`. The vector `t` contains corresponding time values.

Plot the response of `H` to an impulse input applied at $t$ = 0. Plot the response with a grid.

```opts = timeoptions; opts.Grid = 'on'; impulseplot(H,opts)```

Use the `timeoptions` command to define options sets for customizing time-domain plots with commands like `impulseplot` and `stepplot`.

Calculate 200 points of impulse response data from $t$ = 1 (one second after application of the impulse input) to $t$ = 3s.

`[y,t] = impulse(H,linspace(1,3,200));`

As for `step`, you can omit the time vector to allow `impulse` to automatically select a time range.