Solving Simultaneous Equations need HELP ASAP
5 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
I have the following three equations:
Q_room = h_inside*A_roof*(T_house - T_rin) + E*o*A_roof*((T_house+273)^4 - (T_rin+273)^4)
Q_roof = (k_roof*A_roof*(T_rout - T_infinity))/l_roof
Q_outside = h_outside*A_roof*(T_rout - T_infinity) + E*o*A_roof*((T_rout+273)^4 - (T_sky+273)^4)
*NOTE: All these equations are equal to each other.
I need to solve for T_rin, T_rout. I have tried using the solve command and have only gotten lines of equations with no actual answer. I'm using the student version of matlab.
0 comentarios
Respuestas (2)
Walter Roberson
el 20 de Mzo. de 2011
No go. The solution involves the roots of a 16th order polynomial. There is no possible closed form algebraic solution for this equation.
I put in some random numbers in to the equations and solved for the roots; I got 4 values for T_rin that were completely real and which were very very close to the house temperature I used; there were 4 other roots that had effectively negligible imaginary components that were also very very close. The other 8 roots of the polynomial reversed the imaginary and real portions.
I had no good idea as to what temperature to use for T_infinity so I tried a variety of temperatures; with the coefficients I used for the other values, the difference due to T_infinity changes was very small, and decreased as T_infinity increased.
15 comentarios
Walter Roberson
el 21 de Mzo. de 2011
I didn't calculate in MuPad, I calculated in Maple, which has nearly identical syntax and calls for this particular purpose.
The calculation with the exact values filled up 2 Gb of RAM before my system suspended it due to lack of memory, so I do not currently have available anything of higher precision than the previous answers.
Walter Roberson
el 21 de Mzo. de 2011
Here is the more accurate solution; evaluate to however many decimal places you need, using whatever method you feel appropriate to maintain internal precision:
T_rin = roots([439472356653575249361, ...
1919615253862816689208848, ...
3930412232284117171155116280, ...
5179585966471049050051618140720, ...
4989652385189759765375690944201176, ...
3701216626436076128923822822819761120, ...
2167738513269420675763523358690452634816, ...
1014175222962471235825403347115223039097920, ...
375521286131149755649059452793869503124493456, ...
107765264413221130466648910711313765537500086400, ...
22729447005300698735785330717673666230367109659520, ...
2981106516667655067061115576212724030895091084534272, ...
112895710200000000000000000000000000000000 * 447167^(1/3) * 609750^(2/3) - 37762200000000000000000000000000000 * 447167^(1/3) * 609750^(2/3) * 1780000000^(4/5) * 127^(1/5) + 155495669455565081740318293689101535474615698750607616, ...
123282115538400000000000000000000000000000000 * 447167^(1/3) * 609750^(2/3) - 41236322400000000000000000000000000000 * 447167^(1/3) * 609750^(2/3) * 1780000000^(4/5) * 127^(1/5) - 36147832241668783475876325899847545451769037650384097280, ...
1526511069296699278844302786120960097093079818771165798400 + 50484026312974800000000000000000000000000000000 * 447167^(1/3) * 609750^(2/3) - 16886274022800000000000000000000000000000 * 447167^(1/3) * 609750^(2/3) * 1780000000^(4/5) * 127^(1/5), ...
-6773301872149600000000000000000000000000000 * 447167^(1/3) * 609750^(2/3) * 1780000000^(4/5) * 127^(1/5) + 20249792788961413600000000000000000000000000000000 * 447167^(1/3) * 609750^(2/3) - 25590823497477413523929210576045879829337048228280000512000, ...
154289193741448180667268985246955382748223801505444700160000 + 142556479583312000000000000000000000000000000 * 447167^(1/3) * 609750^(2/3) * 1780000000^(4/5) * 127^(1/5) - 426193786542357392000000000000000000000000000000000 * 447167^(1/3) * 609750^(2/3)])
The observant will note that it is impossible to get a numerically meaningful answer from this without evaluating well beyond 59 decimal places.
T_rout is
-(5103/10000000000)*T_rin^4 - (1393119/2500000000)*T_rin^3 - (1140964461/5000000000)*T_rin^2 - (228827765951/2500000000)*T_rin + 242054864161/125000000
Sean de Wolski
el 20 de Mzo. de 2011
once you get the lines of equations from solve use
subs
and
double
to get meaningful values.
Ver también
Productos
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!