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 scalar-valued, the graph of*f*is plotted.If

*f*is*d*-vector-valued with*d*> 2, the space curve given by the first three components of*f*is plotted.

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

If

*f*is scalar-valued, the graph of*f*is plotted (via`surf`

).If

*f*is 2-vector-valued, the image in the plane of a regular grid in its domain is plotted.If

*f*is*d*-vector-valued with*d*> 2, then the parametric surface given by the first three components of its values is plotted (via`surf`

).

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

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

or`'*'`

; the default is`'-'`

.A

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

.A

*string*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 string, 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.

Was this topic helpful?