How to get the coefficients of an equation

4 Ansichten (letzte 30 Tage)
Geovane Gomes
Geovane Gomes am 8 Nov. 2023
Dear all,
Is it possible to extract the coefficients of an equantion defined as below:
syms x1 x2
eq = 2*x1 + x2 <= 0
eq = 
By using coeffs and sym2poly did not work when it has the relational operator "<=".
c = coeffs(eq)
c = 
1
c = sym2poly(eq)
Error using sym/sym2poly
Not a polynomial.
  2 Kommentare
Dyuman Joshi
Dyuman Joshi am 8 Nov. 2023
What is the expected output?
[1 2] or [2 1]? or something else?
Geovane Gomes
Geovane Gomes am 8 Nov. 2023
[2 1]

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

Dyuman Joshi
Dyuman Joshi am 8 Nov. 2023
How about -
syms x1 x2
eq = 2*x1 + x2 <= 0
eq = 
out = flip(coeffs(lhs(eq)))
out = 
  1 Kommentar
Geovane Gomes
Geovane Gomes am 8 Nov. 2023
Good solution!
This way I can also have the term in the right side
syms x1 x2
eq = 2*x1 + x2 <= 5
eq = 
out = flip(coeffs(rhs(eq)))
out = 
5
Thanks!

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (1)

Sulaymon Eshkabilov
Sulaymon Eshkabilov am 8 Nov. 2023
Maybe it is appropriate to work in a reverse order, e.g.:
syms x1 x2
Coeff = [2;1];
eq = [x1, x2]*Coeff<=0
eq = 

Kategorien

Mehr zu Symbolic Math Toolbox finden Sie in Help Center und File Exchange

Tags

Produkte


Version

R2023a

Community Treasure Hunt

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

Start Hunting!

Translated by