How to tell solver that symbols are matrices

3 visualizzazioni (ultimi 30 giorni)
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

Risposta accettata

Steven Lord
Steven Lord il 2 Mag 2021
Modificato: Steven Lord il 2 Mag 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 = 

Più risposte (1)

John D'Errico
John D'Errico il 2 Mag 2021
Modificato: John D'Errico il 2 Mag 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 Commenti
Ahmet Parker
Ahmet Parker il 2 Mag 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 il 2 Mag 2021
my equation and solution must obey matrix algebra rules

Accedi per commentare.

Community Treasure Hunt

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

Start Hunting!

Translated by