# symvar

Find symbolic variables in symbolic expression, matrix, or function

## Syntax

`symvar(s)symvar(s,n)`

## Description

`symvar(s)` returns a vector containing all the symbolic variables in `s` in alphabetical order with uppercase letters preceding lowercase letters.

`symvar(s,n)` returns a vector containing `n` symbolic variables in `s` alphabetically closest to `x`. If `s` is a symbolic function, `symvar(s,n)` returns the input arguments of `s` in front of other free variables in `s`.

## Input Arguments

 `s` Symbolic expression, matrix, or function. `n` Integer or `Inf`. If `n` exceeds the number of variables in `s`, then `symvar(s,n)` is equivalent to `symvar(s,m)` where `m` is the number of variables in `s`.

## Examples

Find all symbolic variables in the sum:

```syms wa wb wx yx ya yb symvar(wa + wb + wx + ya + yb + yx)```
```ans = [ wa, wb, wx, ya, yb, yx]```

Find all symbolic variables in this function:

```syms x y a b f(a, b) = a*x^2/(sin(3*y - b)); symvar(f)```
```ans = [ a, b, x, y]```

Now find the first three symbolic variables in `f`. For a symbolic function, `symvar` with two arguments returns the function inputs in front of other variables:

`symvar(f, 3)`
```ans = [ a, b, x]```

For a symbolic expression or matrix, `symvar` with two arguments returns variables sorted by their proximity to `x`:

`symvar(a*x^2/(sin(3*y - b)), 3)`
```ans = [ x, y, b]```

Find the default symbolic variable of these expressions:

```syms v z g = v + z; symvar(g, 1)```
```ans = z```
```syms aaa aab g = aaa + aab; symvar(g, 1)```
```ans = aaa```
```syms X1 x2 xa xb g = X1 + x2 + xa + xb; symvar(g, 1)```
```ans = x2```

expand all

### Tips

• `symvar(s)` can return variables in a different order than `symvar(s,n)`.

• `symvar` does treat the constants `pi`, `i`, and `j` as variables.

• If there are no symbolic variables in `s`, `symvar` returns the empty vector.

• When performing differentiation, integration, substitution or solving equations, MATLAB® uses the variable returned by `symvar(s,1)` as a default variable. For a symbolic expression or matrix, `symvar(s,1)` returns the variable closest to `x`. For a function, `symvar(s,1)` returns the first input argument of `s`.

### Algorithms

When sorting the symbolic variables by their proximity to `x`, `symvar` uses this algorithm:

1. The variables are sorted by the first letter in their names. The ordering is x y w z v u ... a X Y W Z V U ... A. The name of a symbolic variable cannot begin with a number.

2. For all subsequent letters, the ordering is alphabetical, with all uppercase letters having precedence over lowercase: 0 1 ... 9 A B ... Z a b ... z.

Get trial now