Ground term (constant coefficient) of a polynomial
MuPAD® notebooks are not recommended. Use MATLAB® live scripts instead.
MATLAB live scripts support most MuPAD functionality, though there are some differences. For more information, see Convert MuPAD Notebooks to MATLAB Live Scripts.
ground(p
) ground(f
) ground(f
,vars
)
ground(p)
returns the constant coefficient p(0,
0, …) of the polynomial p.
The first argument can either be a polynomial expression, or
a polynomial generated by poly
,
or an element of some polynomial domain overloading ground
.
If the first argument f
is not element of
a polynomial domain, then ground
converts the expression
to a polynomial via poly(f)
. If a list of indeterminates
is specified, then the polynomial poly(f, vars)
is
considered.
The constant coefficient is returned as an arithmetical expression.
The result of ground
is not fully evaluated.
Evaluation can be enforced by the function eval
. Cf. Example 2.
ground
returns FAIL
if f
cannot
be converted to a polynomial in the specified indeterminates. Cf. Example 3.
We demonstrate how the indeterminates influence the result:
f := 2*x^2 + 3*y + 1: ground(f), ground(f, [x]), ground(f, [y]), ground(poly(f)), ground(poly(f, [x])), ground(poly(f, [y]))
The result is the evaluation at the origin:
subs(f, x = 0, y = 0), subs(f, x = 0), subs(f, y = 0)
Note the difference between ground
and tcoeff
:
g := 2*x^2 + 3*y: ground(g), ground(g, [x]); tcoeff(g), tcoeff(g, [x]);
delete f, g:
The result of ground
is not fully evaluated:
p := poly(27*x^2 + a, [x]): a := 5: ground(p), eval(ground(p))
delete p, a:
The following expression is syntactically not a polynomial expression,
and ground
returns FAIL
:
f := (x^2  1)/(x  1): ground(f)
After cancellation via normal
, ground
can
compute the constant coefficient:
ground(normal(f))
delete f:

A polynomial of
type 
 

A list of indeterminates of the polynomial: typically, identifiers or indexed identifiers 
Element of the coefficient ring of p
, an arithmetical expression,
or FAIL
.
f
, p