How to tell solver that symbols are matrices

6 vues (au cours des 30 derniers jours)
Ahmet Parker
Ahmet Parker le 2 Mai 2021
Commenté : Ahmet Parker le 2 Mai 2021
Hi,
I want to solve an equation which involves matrices. I could not tell matlab the variables are matrices. I need something like
a=matrix(a,[n1,n2]);
b=matrix(b,[n3,n4]);
where n1 n2 n3 n4 are dimensions of matrices then I want to solve
solve(a+b*a^2==2b,a) (This equation is not the real equation, my equation is very long and I have more than a and b variables (lots of variables)
a and b are symbolic meaning
syms a b
Thanks

Réponse acceptée

Steven Lord
Steven Lord le 2 Mai 2021
Modifié(e) : Steven Lord le 2 Mai 2021
If you're using release R2021a or later and have Symbolic Math Toolbox, create a symbolic matrix variable using the syms or symmatrix functions. See the Release Notes for more information.
syms A [3 3] matrix
syms B [3 3] matrix
y = A*B-B*A % not necessarily 0
y = 
  1 commentaire
Ahmet Parker
Ahmet Parker le 2 Mai 2021
Thank you very much. I have a tah license for R2021a

Connectez-vous pour commenter.

Plus de réponses (1)

John D'Errico
John D'Errico le 2 Mai 2021
Modifié(e) : John D'Errico le 2 Mai 2021
A = sym('a',[2,2])
A = 
As you can see, A is a 2x2 matrix.
B = rand(2,2);
X = rand(2,2);
Asol = solve(A*X == B,A)
Asol = struct with fields:
a1_1: [1×1 sym] a2_1: [1×1 sym] a1_2: [1×1 sym] a2_2: [1×1 sym]
So now, for example, we see a1_1 is
Asol.a1_1
ans = 
  2 commentaires
Ahmet Parker
Ahmet Parker le 2 Mai 2021
Sir thank you for the answer. I know this method. However I am trying to get results in terms of a and b since I am trying to find a formula in terms of a and b, not a1_1 and b1_2 in example.
Ahmet Parker
Ahmet Parker le 2 Mai 2021
my equation and solution must obey matrix algebra rules

Connectez-vous pour commenter.

Catégories

En savoir plus sur Symbolic Math Toolbox dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by