How to tell solver that symbols are matrices

1 view (last 30 days)
I want to solve an equation which involves matrices. I could not tell matlab the variables are matrices. I need something like
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

Accepted Answer

Steven Lord
Steven Lord on 2 May 2021
Edited: Steven Lord on 2 May 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 Comment
Ahmet Parker
Ahmet Parker on 2 May 2021
Thank you very much. I have a tah license for R2021a

Sign in to comment.

More Answers (1)

John D'Errico
John D'Errico on 2 May 2021
Edited: John D'Errico on 2 May 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
ans = 
Ahmet Parker
Ahmet Parker on 2 May 2021
my equation and solution must obey matrix algebra rules

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!

Translated by