How to solve 'Error using symengine. Invalid input. 'expression' is expected.'?
Mostrar comentarios más antiguos
Variables that have been defined: Ta(array),Tc(array), alpha(number), gammar(array). Undefined variables: Tz(sym). I wanna solve for Tz
syms Tz mcphayphayvz
mcv=19.806+(0.00419/2).*Ta
mcphayphayvz=19.806+(0.00419/2).*Tz+0.5.*Tz.*((360.34+252.4*alpha)^(10^-5))
mcphayvc=(mcv+gammar.*mcphayphayvz)./(1+gammar)
Tz=solve('Tz=(((xiz*(QH-deltaQH))./(M1.*(1+gammar)))+mcphayvc.*Tc)./(betaz.*mcphayphayvz)',Tz)


Respuesta aceptada
Más respuestas (1)
Walter Roberson
el 20 de Abr. de 2018
syms Ta Tc alpha gammar Tz xiz QH deltaQH M1 betaz mcv=19.806+(0.00419/2).*Ta mcphayphayvz=19.806+(0.00419/2).*Tz+0.5.*Tz.*((360.34+252.4*alpha)^(10^-5)) mcphayvc=(mcv+gammar.*mcphayphayvz)./(1+gammar) eqn = Tz==(((xiz*(QH-deltaQH))./(M1.*(1+gammar)))+mcphayvc.*Tc)./(betaz.*mcphayphayvz); Tzsol = solve(eqn, Tz)
Note that Ta Tc gammar must be scalar values for this purpose. If they were arrays then the solve() would be trying to find one single Tz that solved all of the values simultaneously.
If you are trying to get a solution for each corresponding Ta, Tc, gammar, then you can
subs(Tzsol, {Ta, Tc, gammar}, {Ta_array, Tc_array, gammar_array})
Also note that a pair of solutions are found. It looks like it might be two solutions for a quadratic.
4 comentarios
Vuong Hoang
el 20 de Abr. de 2018
Walter Roberson
el 20 de Abr. de 2018
syms Ta_s Tc_s alpha gammar_s Tz xiz QH deltaQH M1 betaz
mcv=19.806+(0.00419/2).*Ta_s
mcphayphayvz=19.806+(0.00419/2).*Tz+0.5.*Tz.*((360.34+252.4*alpha)^(10^-5))
mcphayvc=(mcv+gammar_s.*mcphayphayvz)./(1+gammar_s)
eqn = Tz==(((xiz*(QH-deltaQH))./(M1.*(1+gammar_s)))+mcphayvc.*Tc_s)./(betaz.*mcphayphayvz);
Tzsol = solve(eqn, Tz)
Tz = double( subs(Tzsol, {Ta_s, Tc_s, gammar_s}, {Ta, Tc, gammar}) );
Vuong Hoang
el 21 de Abr. de 2018
Editada: Vuong Hoang
el 21 de Abr. de 2018
Walter Roberson
el 21 de Abr. de 2018
If betaz is an array then you need to
syms Ta_s Tc_s alpha gammar_s Tz xiz QH deltaQH M1 betaz_s
mcv=19.806+(0.00419/2).*Ta_s
mcphayphayvz=19.806+(0.00419/2).*Tz+0.5.*Tz.*((360.34+252.4*alpha)^(10^-5))
mcphayvc=(mcv+gammar_s.*mcphayphayvz)./(1+gammar_s)
eqn = Tz==(((xiz*(QH-deltaQH))./(M1.*(1+gammar_s)))+mcphayvc.*Tc_s)./(betaz_s.*mcphayphayvz);
Tzsol = solve(eqn, Tz)
Tz = double( subs(Tzsol, {Ta_s, Tc_s, gammar_s, betaz_s}, {Ta, Tc, gammar, betaz}) );
If you only want one particular location you could
Tz5401 = double( subs(Tzsol, {Ta_s, Tc_s, gammar_s, betaz_s}, {Ta(5401), Tc(5401), gammar(5401), betaz(5401)}) );
Categorías
Más información sobre Numeric Solvers en Centro de ayuda y File Exchange.
Productos
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!

