Solving Matrix Equations with Multiple Variable Vectors

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 件のコメント

Stephan
Stephan 2020 年 10 月 30 日
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
nick12391 2020 年 10 月 30 日
I'm not sure of anything, Stephen, But I will triple-check everything.
nick12391
nick12391 2020 年 10 月 30 日
I found my mistake. I should have had Q33 = G12. I have been struggling with this all day, and all along it was just a typo -_-
Stephan
Stephan 2020 年 10 月 30 日
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
nick12391 2020 年 10 月 30 日
Ja das ist ein sieg. Thanks again!
Stephan
Stephan 2020 年 10 月 30 日
編集済み: Stephan 2020 年 10 月 30 日
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
nick12391 2020 年 10 月 30 日
I think that would technically make it:
V21*E1/(1-V12*V21)
but since V12/E1 = V21/E2 it amounts to the same thing.
Stephan
Stephan 2020 年 10 月 30 日
編集済み: Stephan 2020 年 10 月 30 日
But the thing is that you get a different result for tau, by doing this the other way. Or am i wrong here?
nick12391
nick12391 2020 年 10 月 30 日
This is how it is written in my textbook:
Stephan
Stephan 2020 年 10 月 31 日
Ok, then it should be done.

サインインしてコメントする。

回答 (0 件)

カテゴリ

ヘルプ センター および File ExchangeSymbolic Math Toolbox についてさらに検索

製品

リリース

R2020b

タグ

質問済み:

2020 年 10 月 30 日

コメント済み:

2020 年 10 月 31 日

Community Treasure Hunt

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

Start Hunting!

Translated by