Solving non linear equations
1 回表示 (過去 30 日間)
古いコメントを表示
Hi all,
The folloiwng code solves non linear equations for T1, T2, T3 and T4 as well as for J1, J2 and J3. I am only interested on the tempreture:
It returns an array solution that includes several answers for each T. How Can I obtain the exact solution (one single soution) for each T?
syms J1 J2 J3 T1 T2 T3 T4
Jm = 5077.12;
Js = 301.32;
Je = 330.136;
A2 = 449200;
A4 = 519000;
Fms = 0.305;
Fm1 = 0.45;
Fme = 0.245;
F1s = 0.610;
F1m = 0.389;
eps = 0.85;
K2 = 15;
L2 = 0.03;
eq1 = (Jm - Js)*(A2*Fms) + (Jm - J1)*(A2*Fm1) + (Jm - Je)*(A2*Fme) == 0;
eq2 = -(5.67e-8*T1^4 - J1)*(A4*eps)/(1-eps) + (J1 - Js)*(A4*F1s) + (J1 - Jm)*(A4*F1m) == 0;
eq3 = -(5.67e-8*T1^4 - J1)*(A4*eps)/(1-eps) + (T1-T2)*K2*A4/L2 == 0;
eq4 = -(T1 - T2)*K2/L2 + (5.67e-8*T2^4 - J2)*eps/(1-eps) == 0;
eq5 = -(5.67e-8*T2^4 - J2)*eps/(1-eps) + (J2 - J3) == 0;
eq6 = -(J2-J3) + (5.67e-8*T3^4 - J3)*eps/(1-eps) + 185.95 == 0;
eq7 = -(5.67e-8*T3^4 - J3)*eps/(1-eps) + (T3 - T4)*K2/L2 == 0;
eqs = [eq1, eq2, eq3, eq4, eq5, eq6, eq7];
vars = [J1, J2, J3, T1, T2, T3, T4];
sol = solve(eqs, vars);
T1_val = real(double(sol.T1))
T2_val = real(double(sol.T2))
T3_val = real(double(sol.T3))
T4_val = real(double(sol.T4))
0 件のコメント
採用された回答
Torsten
2024 年 2 月 3 日
編集済み: Torsten
2024 年 2 月 3 日
Each of the 16 quadruples (T1(i),T2(i),T3(i),T4(i)) (i = 1,...,16) constitutes a solution for your system of equations.
You must check which of the 16 quadruples are physical. E.g. the first quadruple (with the corresponding values for J1, J2 and J3 printed) would be
syms J1 J2 J3 T1 T2 T3 T4
Jm = 5077.12;
Js = 301.32;
Je = 330.136;
A2 = 449200;
A4 = 519000;
Fms = 0.305;
Fm1 = 0.45;
Fme = 0.245;
F1s = 0.610;
F1m = 0.389;
eps = 0.85;
K2 = 15;
L2 = 0.03;
eq1 = (Jm - Js)*(A2*Fms) + (Jm - J1)*(A2*Fm1) + (Jm - Je)*(A2*Fme) == 0;
eq2 = -(5.67e-8*T1^4 - J1)*(A4*eps)/(1-eps) + (J1 - Js)*(A4*F1s) + (J1 - Jm)*(A4*F1m) == 0;
eq3 = -(5.67e-8*T1^4 - J1)*(A4*eps)/(1-eps) + (T1-T2)*K2*A4/L2 == 0;
eq4 = -(T1 - T2)*K2/L2 + (5.67e-8*T2^4 - J2)*eps/(1-eps) == 0;
eq5 = -(5.67e-8*T2^4 - J2)*eps/(1-eps) + (J2 - J3) == 0;
eq6 = -(J2-J3) + (5.67e-8*T3^4 - J3)*eps/(1-eps) + 185.95 == 0;
eq7 = -(5.67e-8*T3^4 - J3)*eps/(1-eps) + (T3 - T4)*K2/L2 == 0;
eqs = [eq1, eq2, eq3, eq4, eq5, eq6, eq7];
vars = [J1, J2, J3, T1, T2, T3, T4];
sol = solve(eqs, vars);
J1_val = real(double(sol.J1(1)))
J2_val = real(double(sol.J2(1)))
J3_val = real(double(sol.J3(1)))
T1_val = real(double(sol.T1(1)))
T2_val = real(double(sol.T2(1)))
T3_val = real(double(sol.T3(1)))
T4_val = real(double(sol.T4(1)))
その他の回答 (1 件)
Walter Roberson
2024 年 2 月 3 日
syms J1 J2 J3 T1 T2 T3 T4
Jm = 5077.12;
Js = 301.32;
Je = 330.136;
A2 = 449200;
A4 = 519000;
Fms = 0.305;
Fm1 = 0.45;
Fme = 0.245;
F1s = 0.610;
F1m = 0.389;
eps = 0.85;
K2 = 15;
L2 = 0.03;
eq1 = (Jm - Js)*(A2*Fms) + (Jm - J1)*(A2*Fm1) + (Jm - Je)*(A2*Fme) == 0;
eq2 = -(5.67e-8*T1^4 - J1)*(A4*eps)/(1-eps) + (J1 - Js)*(A4*F1s) + (J1 - Jm)*(A4*F1m) == 0;
eq3 = -(5.67e-8*T1^4 - J1)*(A4*eps)/(1-eps) + (T1-T2)*K2*A4/L2 == 0;
eq4 = -(T1 - T2)*K2/L2 + (5.67e-8*T2^4 - J2)*eps/(1-eps) == 0;
eq5 = -(5.67e-8*T2^4 - J2)*eps/(1-eps) + (J2 - J3) == 0;
eq6 = -(J2-J3) + (5.67e-8*T3^4 - J3)*eps/(1-eps) + 185.95 == 0;
eq7 = -(5.67e-8*T3^4 - J3)*eps/(1-eps) + (T3 - T4)*K2/L2 == 0;
eqs = [eq1, eq2, eq3, eq4, eq5, eq6, eq7];
vars = [J1, J2, J3, T1, T2, T3, T4];
sol = solve(eqs, vars);
vals = double(subs([T1, T2, T3, T4], sol));
valid_vals = vals(all(vals > 0, 2),:)
参考
カテゴリ
Help Center および File Exchange で Partial Differential Equation Toolbox についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!