Solving non linear equations
1 view (last 30 days)
Show older comments
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 Comments
Accepted Answer
Torsten
on 3 Feb 2024
Edited: Torsten
on 3 Feb 2024
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)))
More Answers (1)
Walter Roberson
on 3 Feb 2024
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),:)
See Also
Categories
Find more on Symbolic Math Toolbox in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!