Note: This page has been translated by MathWorks. Please click here

To view all translated materals including this page, select Japan from the country navigator on the bottom of this page.

To view all translated materals including this page, select Japan from the country navigator on the bottom of this page.

Function expression or procedure

`Function` , `XFunction` , `YFunction` , `ZFunction` | Mandatory | MuPAD^{®} expression |

`Function`

, `XFunction`

, `YFunction`

, `ZFunction`

correspond
to function expressions or procedures in various plot objects given
by a mathematical function.

The attribute `Function`

is used for graphs
of functions in 2D and 3D, implicit plots, conformal plots etc. which
are characterized by a single function.

The attributes `XFunction`

etc. refer to the
parametrization of the *x*, *y* or *z*-coordinate
of parametrized curves and surfaces. In vector field plots they correspond
to the components of the vector field.

When defining a graphical primitive such as a function plot,
the mathematical expression defining the function is passed directly
to the plot routine generating this object. E.g., one calls ```
plot::Function2d(x*sin(x),
x = -5 .. 5)
```

to define the graph of *f*(*x*)
= *x* *sin*(*x*).
Internally, the attribute `Function = x*sin(x)`

is
associated with the graphical object.

Wherever function expressions are expected, also `piecewise`

objects or
MuPAD procedures can be used. E.g.,
the calls `plot::Function2d(sin(x), x = 0..PI)`

and `plot::Function2d(x -> sin(x), x = 0..PI)`

are equivalent and associate
the attributes `Function = sin(x)`

or ```
Function
= x -> sin(x)
```

, respectively, with the plot objects.

We define an object of type `plot::Function2d`

representing
the graph of *f*(*x*)
= *x* *sin*(*x*):

f := plot::Function2d(x*sin(x), x = -4 .. 4): plot(f)

Internally, the expression defining the function is turned into
the attribute `Function = x*sin(x)`

. It is accessible
via a corresponding `slot`

of
the object:

f::Function

One can change the object by reassigning a new value to this attribute:

f::Function := 1/x: plot(f):

delete f:

For implicit plots as produced by `plot::Implicit2d`

and `plot::Implicit3d`

,
the attribute `Function`

refers to the function whose
zero set is to be plotted:

p := plot::Implicit2d(y*sin(x) - x*cos(y), x=-5..5, y=-5..5):

Internally, the expression defining the function is turned into
the attribute `Function = y*sin(x) - x*cos(y)`

. It
is accessible via a corresponding `slot`

of the object:

p::Function

delete p:

For parametrized curves and surfaces, the attributes `XFunction`

, `YFunction`

etc.
correspond to the parametrization of the coordinates *x*, *y* etc:

c2 := plot::Curve2d([u*cos(u), u*sin(u)], u = 0..5*PI): c2::XFunction, c2::YFunction

c3 := plot::Curve3d([u*cos(u), u*sin(u), u^2], u = 0..5*PI): c3::XFunction, c3::YFunction, c3::ZFunction

s := plot::Surface([u*cos(v), u*sin(v), u^2*sin(2*v)], u = 0..1, v = 0..2*PI): s::XFunction, s::YFunction, s::ZFunction

delete c2, c3, s:

Wherever a function expression is expected, also a `piecewise`

object or
a procedure can be used:

f1 := piecewise([x < 0, 0], [x >= 0, x]): f2 := proc(x) begin if x < 0 then 1 else 1 - x^2/2 end_if; end_proc: F1 := plot::Function2d(f1, x = -1..PI/2): F2 := plot::Function2d(f2, x = -1..PI/2): F1::Function, F2::Function

plot(F1, F2)

delete f1, f2, F1, F2:

Was this topic helpful?