Create symbolic variables and symbolic functions.
This is a convenience function. For example:
syms x y z
instead of:
x = sym('x');
y = sym('y');
z = sym('z');
The last arguments can provide one or more assumptions (type or restriction) on the variable (see ‘sym’).
syms x y z positive syms n positive even
Symfuns represent abstract or concrete functions. Abstract
symfuns can be created with syms:
syms f(x)
Here x is created in the callers workspace,
as a side effect.
Called without arguments, syms displays a list of
all symbolic functions defined in the current workspace.
syms x y z syms -| Symbolic variables in current scope: -| x -| y -| z
Using syms to create a new symbol with different assumptions
does not automatically replace instances of the old symbol in the
caller’s workspace. For example suppose we make an absolute value
expression:
syms x f = abs (x) ⇒ f = (sym) │x│
If we make a new positive x, f still contains the old
symbol:
syms x positive simplify (f) ⇒ (sym) │x│
Note: this behaviour is slightly different from Matlab’s Symbolic Math Toolbox, which does change existing symbols. If that behaviour is desired, see ‘@sym/assume’ which modifies existing expressions in the caller’s workspace:
syms x assume x positive f ⇒ f = (sym) x
Caution: On Matlab, you may not want to use syms within
functions.
In particular, if you shadow a function name, you may get
hard-to-track-down bugs. For example, instead of writing
syms alpha use alpha = sym('alpha') within functions.
[https://www.mathworks.com/matlabcentral/newsreader/view_thread/237730]
See also: sym, assume.
Package: symbolic