How can I solve for the matrix S in the below mentioned matrix equation?

1 view (last 30 days)
Hello,
the matrix equation that I am trying to work with is as follows:
A = B - D * inv(S) * D' ;
EPS_S = EPS_T - d*(C\d'); % What I am writing in MatLab
Here, matrices A & B are both 3x3 with diagonal entries.
D is a 6x3 matrix with entries in D15, D24, D31, D32 and D33.
And finally, S is supposed to be a 6x6 matrix.
I noticed that the solve funcion asks for a verctors as inputs whereas I am working with matrices.
The code used is as follows:
K_T(1,1)=1250; K_T(2,2)=1250; K_T(3,3)=1000; eps_0=8.854e-12;
K_S(1,1)=800; K_S(2,2)=800; K_S(3,3)=540;
EPS_T = K_T * eps_0; EPS_S = K_S * eps_0;
d=[zeros(1,4) 380 0 ; zeros(1,3) 380 0 0 ; -95 -95 240 0 0 0]*10^-12;
syms C11 C12 C13 C21 C22 C23 C31 C32 C33 C44 C55 C66
C = [C11 C12 C13 0 0 0 ; C21 C22 C23 0 0 0 ; C31 C32 C33 0 0 0 ; 0 0 0 C44 0 0 ; 0 0 0 0 C55 0 ; 0 0 0 0 0 C66];
eqn = [EPS_S == EPS_T - d*(C\d')];
solve(eqn,C);
%end

Accepted Answer

David Goodmanson
David Goodmanson on 22 Jan 2020
Hello NAA,
It appears that you mean that d is 3x6,not 6x3.
Let
E = EPS_T - EPS_S
and abbreviate inv(S) as iS. You are looking to solve
E = d*iS*d'
for iS. Since d is 3x6 it contains three limearly independent vectors (rank 3). iS has six linearly independent vectors (rank 6). The equation underspecifies iS, and there are many possible solutions, in this case including iS simply being diagonal. For example if you do the algebra,
K_T(1,1)=1250; K_T(2,2)=1250; K_T(3,3)=1000; eps_0=8.854e-12;
K_S(1,1)=800; K_S(2,2)=800; K_S(3,3)=540;
EPS_T = K_T * eps_0; EPS_S = K_S * eps_0;
d=[zeros(1,4) 380 0 ; zeros(1,3) 380 0 0 ; -95 -95 240 0 0 0]*10^-12;
E = EPS_T - EPS_S
iS = zeros(6,6);
iS(1,1) = E(3,3)/sum(d(3,1)^2 + d(3,2)^2 +d(3,3)^2);
iS(2,2) = iS(1,1);
iS(3,3) = iS(1,1);
iS(4,4) = E(2,2)/d(2,4)^2;
iS(5,5) = E(1,1)/d(1,5)^2;
iS(6,6) = 1e10 % arbitrary, put size on a par with the rest of S
EPS_S - (EPS_T - d*iS*d') % equation equality check
ans =
0 0 0
0 0 0
0 0 0
The most comprehensive way to sove this problem is by using the singular value decomposition on d. That will better bring out all the possible variations of iS, but you would have to impose more conditions to achieve a unique iS.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!