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 Variablesisolate
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
.