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!