# symType

Determine type of symbolic object

## Syntax

``s = symType(symObj)``

## Description

example

````s = symType(symObj)` returns the type of a symbolic object. For example, `symType(sym('x'))` returns `"variable"`.```

## Examples

collapse all

Create a symbolic number and determine its type.

```a = sym('3/9'); s = symType(a)```
```s = "rational" ```

Now construct a symbolic array by including symbolic numbers in the array elements. Determine the symbolic type of each array element.

```B = [-5, a, vpa(a), 1i, pi]; s = symType(B)```
```s = 1x5 string "integer" "rational" "vpareal" "complex" "constant" ```

Create a symbolic function `f(x)` using `syms`.

`syms f(x)`

Determine the type of the function. Because `f(x)` is an unassigned symbolic function, it has the symbolic type `"symfun"`.

`s = symType(f)`
```s = "symfun" ```

Assigning a mathematical expression to `f(x)` changes its symbolic type.

```f(x) = x^2; s = symType(f)```
```s = "expression" ```

Now check the symbolic type of `f(x) = x` and its derivative.

```f(x) = x; s = symType(f)```
```s = "variable" ```
`s = symType(diff(f))`
```s = "integer" ```

Determine the type of various symbolic objects when solving for inequalities.

```syms y(x) y(x) = 100 - 5*x^2```
`y(x) = $100-5 {x}^{2}$`

Set two inequalities to the quadratic function. Check the symbolic type of each inequality.

```eq1 = y(x) > 10; eq2 = x > 2; s = symType([eq1 eq2])```
```s = 1x2 string "equation" "equation" ```

Solve the inequalities using `solve`. Return the solutions by setting `'ReturnConditions'` to `true`.

```eqSol = solve([eq1 eq2], 'ReturnConditions', true); sols = eqSol.conditions```
`sols = $x<\sqrt{18}\wedge 2`

Determine the symbolic type of the solutions.

`s = symType(sols)`
```s = "logicalexpression" ```

## Input Arguments

collapse all

Symbolic objects, specified as symbolic numbers, symbolic variables, symbolic expressions, symbolic functions, or symbolic units.

## Output Arguments

collapse all

Symbolic types, returned as a string array. This table shows output values for various symbolic objects.

OutputDescriptionInput Example
`"integer"`symbolic integer number`symType(sym('-1'))`
`"rational"`symbolic rational number`symType(sym('1/2'))`
`"vpareal"`symbolic variable-precision floating-point real number`symType([sym('1.5') vpa('3/2')])`
`"complex"`symbolic complex number`symType(sym('1+2i'))`
`"constant"`symbolic mathematical constant`symType(sym([pi catalan]))`
`"variable"`symbolic variable`syms x; symType(x)`
`"symfun"`unassigned symbolic function`syms f(x); symType(f)`
`"expression"`symbolic expression`syms x; symType(sqrt(x))`
`"equation"`symbolic equation and inequality`syms x; symType(x>=0)`
`"unit"`symbolic unit`symType(symunit('meter'))`
`"logicalexpression"`symbolic logical expression`syms x y; symType(x|y)`
`"logicalconstant"`symbolic logical constant`symType([symtrue symfalse])`
`"unsupported"`symbolic object not supported by `symType`

## Version History

Introduced in R2019a