MATLAB Function Reference
fplot

Plot a function between specified limits

Syntax

• ```fplot('`function`',limits)
fplot('`function`',limits,`LineSpec`)
fplot('`function`',limits,tol)
fplot('`function`',limits,tol,`LineSpec`)
fplot('`function`',limits,n)
[X,Y] = fplot('`function`',limits,...)
[...] = plot('`function`',limits,tol,n,LineSpec,P1,P2,...)
```

Description

`fplot` plots a function between specified limits. The function must be of the form y = f(x), where x is a vector whose range specifies the limits, and `y` is a vector the same size as `x` and contains the function's value at the points in x (see the first example). If the function returns more than one value for a given x, then y is a matrix whose columns contain each component of f(x) (see the second example).

```fplot('function',limits) ``` plots `'``function``'` between the limits specified by `limits`. `limits` is a vector specifying the x-axis limits (`[xmin` `xmax])`, or the x- and y-axis limits, (`[xmin` `xmax` `ymin` `ymax]`).

`'function'` must be the name of an M-file function or a string with variable `x` that may be passed to `eval`, such as `'sin(x)'`, `'diric(x,10)'` or `'[sin(x),cos(x)]'`.

The function `f(x)` must return a row vector for each element of vector `x`. For example, if `f(x)` returns [`f1(x),f2(x),f3(x)]` then for input `[x1;x2]` the function should return the matrix

• ```f1(x1) f2(x1) f3(x1)
f1(x2) f2(x2) f3(x2)
```

```fplot('function',limits,LineSpec) ``` plots `'``function``'` using the line specification `LineSpec`.

```fplot('function',limits,tol) ``` plots `'``function``'` using the relative error tolerance `tol` (The default is 2e-3, i.e., 0.2 percent accuracy).

```fplot('function',limits,tol,LineSpec) ``` plots `'``function``'` using the relative error tolerance `tol` and a line specification that determines line type, marker symbol, and color.

```fplot('function',limits,n) ``` with `n >= 1` plots the function with a minimum of `n+1` points. The default `n` is `1`. The maximum step size is restricted to be `(1/n)*(xmax-xmin)`.

```fplot(fun,lims,...) ``` accepts combinations of the optional arguments `tol`, `n`, and `LineSpec`, in any order.

```[X,Y] = fplot('function',limits,...) ``` returns the abscissas and ordinates for `'``function``'` in `X` and `Y`. No plot is drawn on the screen, however you can plot the function using `plot(X,Y)`.

```[...] = plot('function',limits,tol,n,LineSpec,P1,P2,...) ``` enables you to pass parameters `P1`, `P2`, etc. directly to the function '`function`':

• ```Y = function(X,P1,P2,...)
```

To use default values for `tol`, `n`, or `LineSpec`, you can pass in the empty matrix (`[]`).

Remarks

`fplot` uses adaptive step control to produce a representative graph, concentrating its evaluation in regions where the function's rate of change is the greatest.

Examples

Plot the hyperbolic tangent function from -2 to 2:

• ````fplot('tanh',[-2 2])`

```

Create an M-file, `myfun`, that returns a two column matrix:

• ```function Y = myfun(x)
Y(:`,`1) = 200*sin(x(:))./x(:);
Y(:`,`2) = x(:).^2;
```

Plot the function with the statement:

• ```fplot('myfun',[-20 20]
```

Addition Examples

• ```subplot(2,2,1);fplot('humps',[0 1])
subplot(2,2,2);fplot('abs(exp(-j*x*(0:9))*ones(10,1))',[0 2*pi])
subplot(2,2,3);fplot('[tan(x),sin(x),cos(x)]',2*pi*[-1 1 -1 1])
subplot(2,2,4);fplot('sin(1./x)',[0.01 0.1],1e-3)
```

See Also

`eval`, `ezplot`, `feval`, `LineSpec`, `plot`

Function Plots for related functions

 format fprintf