Need help with solving this matrix equation

조회 수: 5 (최근 30일)
Hamed Badjian
Hamed Badjian 2020년 9월 13일
댓글: Hamed Badjian 2020년 9월 14일
Hello eveyone
Thank you all for being here and spendint time reading this. I have recently been stucked with this matrix equation.
The code is a formula which the "Final" parameter is a 6x6 matrix, where its parameters each contain 6 unknowns defined in syms section.
So overally I have 36 equations and 6 unknowns where 30 equation is probably not necessary and due to its complexity i cannot do it myself.
So i would appreciate if you guys show me solution of how to solve the eqations. solve or fsolve or any other methods in mind.
Thanks in advance.
%% Initials %%
syms c m11 m12 m13 m33 m44
CNB = [0.283810e2 0.217478e2 0.51749e1 0.1672e0 0.1051e0 -0.13248e1; 0.217478e2 0.285360e2 0.54735e1 0.252e-1 -0.2458e0 -0.11378e1; 0.51749e1 0.54735e1 0.5091929e3 0.1461e0 0.532e-1 -0.12607e1; 0.1672e0 0.252e-1 0.1461e0 0.4791e0 0.632e-1 -0.1902e0; 0.1051e0 -0.2458e0 0.532e-1 0.632e-1 0.2931e0 0.532e-1; -0.13248e1 -0.1378e0 -0.12607e1 -0.1902e0 0.532e-1 0.35093e1;];
EP0 = [0.26054e1 0.13450e1 0.15656e1 0.15e-2 -0.1103e0 -0.607e-1; 0.13450e1 0.27312e1 0.14808e1 -0.762e-1 0.1394e0 -0.92e-2; 0.15656e1 0.14808e1 0.29516e1 -0.1478e0 0.2659e0 -0.1484e0; 0.15e-2 -0.762e-1 -0.1478e0 0.10573e1 -0.41e-2 0.1034e0; -0.1103e0 0.1394e0 0.2659e0 -0.41e-2 0.7682e0 0.289e-1; -0.607e-1 -0.92e-2 -0.1484e0 0.1034e0 0.289e-1 0.7299e0;];
CPMD = [0.348547e2 0.26368e1 0.39404e1 0.4049e0 -0.2123e0 -0.9570e0; 0.26368e1 0.258356e2 0.49370e1 0.2765e0 -0.2727e0 -0.1206e0; 0.39404e1 0.49370e1 0.663384e2 -0.369e-1 -0.4342e0 0.1556e0; 0.4049e0 0.2765e0 -0.369e-1 0.1194965e3 -0.282e-1 -0.2629e0; -0.2123e0 -0.2727e0 -0.4342e0 -0.282e-1 0.1198436e3 0.9031e0; -0.9570e0 -0.1206e0 0.1556e0 -0.2629e0 0.9031e0 0.1142415e3;];
nu = 0.395e0;
s1111 = (5-4*nu)/(8*(1-nu)); s2222 = (5-4*nu)/(8*(1-nu)); s3333 = 0; s3311 = 0; s3322 = 0; s2323 = 0.5; s3131 = 0.5;
s2211 = (-1+4*nu)/(8*(1-nu)); s1122 = (-1+4*nu)/(8*(1-nu)); s2233 = nu/(2*(1-nu)); s1133 = nu/(2*(1-nu)); s1212 = (3-4*nu)/(4*(1-nu));
S = [s1111 s1122 s1133 0 0 0; s2211 s2222 s2233 0 0 0; s3311 s3322 s3333 0 0 0; 0 0 0 s2323 0 0; 0 0 0 0 s3131 0; 0 0 0 0 0 s1212;];
I6 = eye(6,6);
cm = 0.95-c; cp = 0.05; ci = c;
CI = [m11 m12 m13 0 0 0; m12 m11 m13 0 0 0; m13 m13 m33 0 0 0; 0 0 0 m44 0 0; 0 0 0 0 m44 0; 0 0 0 0 0 ((m11-m12)/2);];
%% Main %%
TP = I6 - S*inv(S+inv(CNB-EP0)*EP0);
eq1 = -(I6 + CI * inv(EP0) + CI * inv(EP0) ^ 2) * inv(EP0) * EP0;
eq2 = eq1 - I6 + S;
eq3 = eq2 ^ 2 + I6 - eq2;
TPI = I6 - S*((cp/(ci+cp))*inv(S+inv(CNB-EP0)*EP0)+eq3);
eq4 = (I6 - (((cp+ci)*(TPI))*inv(cm*I6))+(((cp+ci)*TPI)*inv(cm*I6))^2)*inv((cm*I6));
Final = EP0 - CPMD + ((cp*(CNB-CI)*TP)+((cp+ci)*(CI-EP0)*TPI))*eq4;
  댓글 수: 8
Walter Roberson
Walter Roberson 2020년 9월 14일
I am running a custom minimizer that I developed that does a lot of grid searching. The values above were based on one iteration when the bounds were all set at +/- 100. I am running again with +/-600 bounds, but it will take several hours.
Hamed Badjian
Hamed Badjian 2020년 9월 14일
i see. thats nice.
thank you really for this effort. it means alot :)

댓글을 달려면 로그인하십시오.

답변 (0개)

카테고리

Help CenterFile Exchange에서 Linear Algebra에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by