Solving Matrix Equations with Multiple Variable Vectors
Ältere Kommentare anzeigen
I have an equation: S = QE
where Q is a 3x3 matrix with known constants,
S and E are both 3 element vectors. S has a single variable and E has 2 variables.
I want to solve for the 3 variables. This is what I tried:
E1 = 140e9; % [Pa]
E2 = 10e9; % [Pa]
G12 = 7e9; % [Pa]
V12 = 0.3;
V21 = V12;
syms tau Exx Eyy
S = [tau + 5e6;... % S11
-tau + 5e6;... % S22
-5e6]; % S12
Q = [E1/(1-V12*V21) V12*E2/(1-V12*V21) 0;... % All known values
V12*E2/(1-V12*V21) E2/(1-V12*V21) 0;...
0 0 0];
E = [Exx/2 + Eyy/2;...
Exx/2 + Eyy/2;...
Exx - Eyy];
solve(S == Q*E);
But it comes up empty. I've done this same process with a set of equations, but never in matrix form. I could, of course, expand this out by hand and input the seperate equations, but I'd rather not have to do that because I'd like to be able to turn this into a function. I'm pretty sure linsolve() won't work since the variable are not spread between 2 vectors. Not sure what else to try.
Any suggestions are appreciated, thanks.
10 Kommentare
Stephan
am 30 Okt. 2020
Are you sure that your matrix is written correctly?
Q =
1.0e+11 *
1.5385 0.0330 0
0.0330 0.1099 0
0 0 0
nick12391
am 30 Okt. 2020
nick12391
am 30 Okt. 2020
Stephan
am 30 Okt. 2020
E1 = 140e9; % [Pa]
E2 = 10e9; % [Pa]
G12 = 7e9; % [Pa]
V12 = 0.3;
V21 = V12;
syms tau Exx Eyy
S = [tau + 5e6;... % S11
-tau + 5e6;... % S22
-5e6]; % S12
Q = [E1/(1-V12*V21) V12*E2/(1-V12*V21) 0;... % All known values
V12*E2/(1-V12*V21) E2/(1-V12*V21) 0;...
0 0 G12];
E = [Exx/2 + Eyy/2;...
Exx/2 + Eyy/2;...
Exx - Eyy];
S = (Q\E)
nick12391
am 30 Okt. 2020
I think you have one more bug in your matrix. Should not Q(2,1) be:
V12*E1/(1-V12*V21)
instead of:
V12*E2/(1-V12*V21)
due to
nick12391
am 30 Okt. 2020
nick12391
am 30 Okt. 2020
Stephan
am 31 Okt. 2020
Ok, then it should be done.
Antworten (0)
Kategorien
Mehr zu Symbolic Math Toolbox finden Sie in Hilfe-Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!
