How can I rearrange an equation with only one variable?

2 次查看(过去 30 天)
How can I rearrange an equation like x^3+2*x^2+3*x-2=0 to a form set equal to an order of x such as x=(1/3)*(-x^3-2*x^2+2) in MATLAB?

回答(2 个)

Bish Erbas
Bish Erbas 2018-9-27
Something like this?
syms x
eqn = (x^3+2*x^2+3*x-2 == 0);
pretty(isolate(eqn,3*x)/3)
  2 个评论
Troy Walton
Troy Walton 2018-9-27
Not exactly. I'm looking for a way to isolate x from x^(any power!=1), but the m file is set for the equation to be user input. So the equation could be anything with only one independent variable. For more context, this is for a part of a fixed point method simplified to having only one variable, so at this point I'm trying to take f(x) and create a g(x) s.t. g(x)=x
Star Strider
Star Strider 2018-9-27
Perhaps:
syms x
Eq = x^3+2*x^2+3*x-2;
[Cfs,Trm] = coeffs(Eq,x)
Cfs =
[ 1, 2, 3, -2]
Trm =
[ x^3, x^2, x, 1]

请先登录,再进行评论。


Walter Roberson
Walter Roberson 2018-9-27
Use coeffs() with the two-output form, probably with the 'all' option. Variable to take it with respect to can be found by symvar(). Check the entry corresponding to the variable to power 1, which will be the second-last entry of the 'all' output.
Now subtract the term (coefficient times x) from the original equation, take the negative, and divide by the coefficient of x.
You will need to decide how you want to proceed if the coefficient associated with variable^1 is 0.

类别

Help CenterFile Exchange 中查找有关 Symbolic Math Toolbox 的更多信息

产品


版本

R2018a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by