eqn1 = 1500*(20-x)+1.5309E-05*(293^4-(x+273)^4) == z;
eqn3 = 3600*(y-10)+1.5309E-05*((y+273)^4-100^4) == z;
sol = solve(eqns, vars, 'returnconditions',true)
sol =
x: [16×1 sym]
y: [16×1 sym]
z: [16×1 sym]
parameters: [1×0 sym]
conditions: [16×1 sym]
16 solutions.
sol.conditions
ans =
and they are unconditional.
So there are 16 "true" solutions.
Perhaps you only want real-valued ones?
vx = vpa(sol.x); vy = vpa(sol.y); vz = vpa(sol.z);
mask = imag(vx) == 0 & imag(vy) == 0 & imag(vz) == 0;
So there are two "true" solutions that also happen to be real-valued. This was predictable: degree 16 polynomials in real roots always have an even number of real roots.
If you wanted to ignore some of the valid solutions even further, you could further test realx > 0
Best Answer