Solving Matrix Equations with Multiple Variable Vectors
Mostrar comentarios más antiguos
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 comentarios
Stephan
el 30 de Oct. de 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
el 30 de Oct. de 2020
nick12391
el 30 de Oct. de 2020
Stephan
el 30 de Oct. de 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
el 30 de Oct. de 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
el 30 de Oct. de 2020
nick12391
el 30 de Oct. de 2020
Stephan
el 31 de Oct. de 2020
Ok, then it should be done.
Respuestas (0)
Categorías
Más información sobre Symbolic Math Toolbox en Centro de ayuda y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!
