How to tell solver that symbols are matrices

3 次查看(过去 30 天)
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
Steven Lord 2021-5-2
编辑:Steven Lord 2021-5-2
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 个)

John D'Errico
John D'Errico 2021-5-2
编辑:John D'Errico 2021-5-2
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 个评论
Ahmet Parker
Ahmet Parker 2021-5-2
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 2021-5-2
my equation and solution must obey matrix algebra rules

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Assumptions 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by