Effacer les filtres
Effacer les filtres

How to tell solver that symbols are matrices

1 vue (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.

Community Treasure Hunt

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

Start Hunting!

Translated by