Effacer les filtres
Effacer les filtres

grouping an equation in quadratic/squared terms

17 vues (au cours des 30 derniers jours)
Berkin Birol
Berkin Birol le 27 Fév 2022
Commenté : Berkin Birol le 12 Avr 2024
Hi all,
I would like MATLAB to group my equation
(-a-b)*x1^2 + 0.2*b*x1*x2 - 0.2*c*x2^2
as all quadratic items like below:
-(b*x1-0.1*x2)^2 - (a+b-b^2)*x1^2 - (0.2*c-0.01)*x2^2
I had found a method once from Matlab answers but I can not remember it. This equation is OK but I would like to use MATLAB to make this arrangement (if it's algebraically possible) if my equation is updated in the future.

Réponses (1)

T.Nikhil kumar
T.Nikhil kumar le 20 Oct 2023
Hello Berkin,
As per my understanding, you want to group all the items in your equation as quadratic or squared terms.
I recommend you leverage the symbolic variables and the symbolic algebra capabilities of MATLAB for this purpose. You can first create ‘x1’, ‘x2’,’a’ and ‘b’ as symbolic scalar variables of type sym’. Then, you can define your equation in a separate variable after which you can use the collect function to group the quadratic terms (x1^2 and x2^2) and squared terms. Refer to the following code snippet for an overview of the method.
%Creating the symbolic variables
syms x1 x2 a b c
%Defining the equation
equation = (-a-b)*x1^2 + 0.2*b*x1*x2 - 0.2*c*x2^2;
% Grouping the quadratic terms (This grouped_equation variable contains the
% new equation)
grouped_equation = collect(equation, [x1^2, x2^2]);
By using symbolic variables, you can easily update your equation in the future and MATLAB will automatically group the quadratic terms for you.
Refer to the following documentation to understand more about ‘syms’ and ‘collect’ functions.
Hope this helps!
  3 commentaires
T.Nikhil kumar
T.Nikhil kumar le 8 Avr 2024
you can try using the functions of the Symbolic Math Toolbox like simplify, collect, and expand that are useful for manipulating symbolic expressions. But, for grouping as required by, I think doing it manually is the best way
Berkin Birol
Berkin Birol le 12 Avr 2024
Thank you again, Nikhil.

Connectez-vous pour commenter.

Produits


Version

R2019a

Community Treasure Hunt

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

Start Hunting!

Translated by