How to tell solver that symbols are matrices

1 view (last 30 days)
Ahmet Parker on 2 May 2021
Commented: Ahmet Parker on 2 May 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

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

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 =
Ahmet Parker on 2 May 2021
my equation and solution must obey matrix algebra rules

Categories

Find more on Symbolic Variables, Expressions, Functions, and Preferences in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by