Main Content

Isolate variable or expression in equation

`isolate(`

rearranges the equation `eqn`

,`expr`

)`eqn`

so that the expression
`expr`

appears on the left side. The result is similar to
solving `eqn`

for `expr`

. If
`isolate`

cannot isolate `expr`

, it moves
all terms containing `expr`

to the left side. The output of
`isolate`

lets you eliminate `expr`

from
`eqn`

by using `subs`

.

Isolate `x`

in the equation ```
a*x^2 +
b*x + c == 0
```

.

syms x a b c eqn = a*x^2 + b*x + c == 0; xSol = isolate(eqn, x)

xSol = x == -(b + (b^2 - 4*a*c)^(1/2))/(2*a)

You can use the output of `isolate`

to eliminate the variable
from the equation using `subs`

.

Eliminate `x`

from `eqn`

by substituting
`lhs(xSol)`

for `rhs(xSol)`

.

eqn2 = subs(eqn, lhs(xSol), rhs(xSol))

eqn2 = c + (b + (b^2 - 4*a*c)^(1/2))^2/(4*a) - (b*(b + (b^2 - 4*a*c)^(1/2)))/(2*a) == 0

Isolate `y(t)`

in the following
equation.

syms y(t) eqn = a*y(t)^2 + b*c == 0; isolate(eqn, y(t))

ans = y(t) == ((-b)^(1/2)*c^(1/2))/a^(1/2)

Isolate `a*y(t)`

in the same equation.

isolate(eqn, a*y(t))

ans = a*y(t) == -(b*c)/y(t)

`isolate`

Returns Simplest SolutionFor equations with multiple solutions,
`isolate`

returns the simplest solution.

Demonstrate this behavior by isolating `x`

in ```
sin(x) ==
0
```

, which has multiple solutions at `0`

,
`pi`

, `3*pi/2`

, and so on.

isolate(sin(x) == 0, x)

ans = x == 0

`isolate`

does not consider special cases when returning the
solution. Instead, `isolate`

returns a general solution that is
not guaranteed to hold for all values of the variables in the equation.

Isolate `x`

in the equation `a*x^2/(x-a) == 1`

.
The returned value of `x`

does not hold in the special case
`a = 0`

.

syms a x isolate(a*x^2/(x-a) == 1, x)

ans = x == ((-(2*a - 1)*(2*a + 1))^(1/2) + 1)/(2*a)

`isolate`

Follows Assumptions on Variables`isolate`

returns only results that are
consistent with the assumptions on the variables in the equation.

First, assume `x`

is negative, and then isolate
`x`

in the equation `x^4 == 1`

.

syms x assume(x < 0) eqn = x^4 == 1; isolate(x^4 == 1, x)

ans = x == -1

Remove the assumption. `isolate`

chooses a different solution
to return.

assume(x, 'clear') isolate(x^4 == 1, x)

ans = x == 1

If

`eqn`

has no solution,`isolate`

errors.`isolate`

also ignores special cases. If the only solutions to`eqn`

are special cases, then`isolate`

ignores those special cases and errors.The returned solution is not guaranteed to hold for all values of the variables in the solution.

`expr`

cannot be a mathematical constant such as`pi`

.