How to eliminate variables in a system of equations that contains exponential equations
4 views (last 30 days)
Show older comments
Zhihan Wu
on 30 Jul 2022
Answered: Walter Roberson
on 31 Jul 2022
I tried to eleminate variables from a system of equations. The four equations are bellow. My variables are m'', Pv,eq, Psat, Tlv, Pv, Pd, Pc. Others are just constants. I want to eliminate Pv,eq, Psat, Tlv, and write m'' as a equation of Pv, Pd, Pc. I try to use "eliminate" to do that, but got this error
Error using mupadengine/feval_internal
List must consist of polynomial expressions.
V = feval_internal(symengine, 'groebner::eliminate', polylist, vars);
I think that may be because my equation (9) is not polynomial. Then how to eliminate the variables I want to eliminate?
2 Comments
Accepted Answer
Walter Roberson
on 31 Jul 2022
Q = @(v) sym(v);
sigbar = Q(1);
Mbar = Q(0.1142);
Rbar = Q(55.91);
rhol = Q(660.7);
Tv = Q(343);
kl = Q(0.1164);
hfg = Q(337945);
syms m Pveq Psat Tlv Pv Pd Pc
Psat = Pv*exp(hfg*Mbar/Rbar*(1/Tv-1/Tlv))
eqn1 = Pveq == Psat*exp((Pveq-Psat-(Pd+Pc))/(rhol*Tlv*Rbar/Mbar));
solPveq = solve(eqn1, Pveq, 'returnconditions', true)
Pveq = solPveq.Pveq
eqn2 = m == kl/hfg*(Tlv);
solTlv = solve(eqn2, Tlv)
eqn3 = subs(m == 2*sigbar/(2-sigbar)*sqrt(Mbar/(2*pi*Rbar))*(Pveq/sqrt(Tlv)-Pv/sqrt(Tv)), Tlv, solTlv)
solm = solve(eqn3, m)
That is, you can isolate down to a single equation for m, but m is involved on both sides, and MATLAB is not able to solve for m.
When I look at the equation, complete with the LambertW call that itself involves m, it does not surprise me that there might not be a closed form solution.
0 Comments
More Answers (0)
See Also
Categories
Find more on Linear Algebra 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!