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`

.