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
.