How to tell solver that symbols are matrices

3 views (last 30 days)
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

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 = 

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
Asol.a1_1
ans = 
  2 Comments
Ahmet Parker
Ahmet Parker on 2 May 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 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!