Plot function

`fnplt(f) `

fnplt(f,arg1,arg2,arg3,arg4)

points = fnplt(f,...)

[points, t] = fnplt(f,...)

`fnplt(f) `

plots the function,
described by `f`

, on its basic interval.

If *f* is univariate, the following is plotted:

If *f* is bivariate, the following is plotted:

If *f* is a function of more than two variables,
then the bivariate function, obtained by choosing the midpoint of
the basic interval in each of the variables other than the first two,
is plotted.

`fnplt(f,arg1,arg2,arg3,arg4) `

permits you to modify the plotting by the specification of additional
input arguments. You can place these arguments in whatever order you
like, chosen from the following list:

A

*character vector*that specifies a plotting symbol, such as`'-.'`

or`'*'`

; the default is`'-'`

.A

*scalar*to specify the linewidth; the default value is`1`

.A

*character vector*that starts with the letter`'j'`

to indicate that any jump in the*univariate*function being plotted should actually appear as a jump. The default is to fill in any jump by a (near-)vertical line.A

*vector*of the form`[a,b]`

, to indicate the interval over which to plot the`univariate`

function in`f`

. If the function in`f`

is*m*-variate, then this optional argument must be a cell array whose ith entry specifies the interval over which the*i*th argument is to vary. In effect, for this`arg`

, the command`fnplt(f,arg,...)`

has the same effect as the command`fnplt(fnbrk(f,arg),...)`

. The default is the basic interval of`f`

.An empty matrix or character vector, to indicate use of default(s). You will find this option handy when your particular choice depends on some other variables.

`points = fnplt(f,...) `

plots
nothing, but the two-dimensional points or three-dimensional points
it would have plotted are returned instead.

`[points, t] = fnplt(f,...) `

also returns, for a vector-valued `f`

, the corresponding
vector `t`

of parameter values.

The basic interval for *f* in B-form is the
interval containing *all* the knots. This means that, e.g., *f* is
sure to vanish at the endpoints of the basic interval unless the first
and the last knot are both of full multiplicity *k*,
with *k* the order of the spline *f*.
Failure to have such full multiplicity is particularly annoying when *f* is
a spline curve, since the plot of that curve as produced by `fnplt`

is
then bound to start and finish at the origin, regardless of what the
curve might otherwise do.

Further, since B-splines are zero outside their support, any function in B-form is zero outside the basic interval of its form. This is very much in contrast to a function in ppform whose values outside the basic interval of the form are given by the extension of its leftmost, respectively rightmost, polynomial piece.

A vector `x`

of evaluation points is generated
by the union of:

101 equally spaced sites filling out the plotting interval

Any breakpoints in the plotting interval

The univariate function *f* described
by `f`

is evaluated at these `x`

evaluation
points. If *f* is real-valued, the points (*x*,*f*(*x*))
are plotted. If *f* is vector-valued, then the first
two or three components of *f*(*x*)
are plotted.

The bivariate function *f* described by `f`

is
evaluated on a 51-by-51 uniform grid if *f* is scalar-valued
or *d*-vector-valued with *d* >
2 and the result plotted by `surf`

.
In the contrary case, *f* is evaluated along the
meshlines of a 11-by-11 grid, and the resulting planar curves are
plotted.