matlabFunction with syms do not evaluate eqv?

Good day,
Som insight way there is no evaluation for current symbolic function?
When entering…
syms p1 p2 v1 v2 gma
eqv = p1*v1^gma==p2*v2^gma;
p2 = matlabFunction(eqv,p2)
The output is the same function, without evaluation for the requested variable. While it should be p2=p1*(v1/v2)^gma or p2=p1*v1^gma/v2^gma... Is there some error in understanding of the use of current functions?

 采纳的回答

For what you're describing, matlabFunction is not the right tool. solve is the right tool.

2 个评论

Thank You for spotting my mistyping.
u=symunit;
syms p1 p2 V1 V2 gma
eqn = p1*V1^gma==p2*V2^gma;
p2 = matlabFunction(solve(eqn,p2))
V1 = .15*u.m^3;
p1 = 2*u.bar;
V2 = .02*u.m^3;
gma=1.4;
p2=p2(p1,V1,V2,gma)
p2 =
1.4000*(2*[bar])^(0.0200*[m]^3)/(0.1500*[m]^3)^(0.0200*[m]^3)
Some hint whay ans is in "long form/expresion", when it must be like with
u=symunit;
V1 = .15*u.m^3;
p1 = 2*u.bar;
V2 = .02*u.m^3;
gma=1.4;
p2=p1*(V1/V2)^gma
p2 =
33.5827*[bar]
For future reference we're discussing that over in this other Answers post.

请先登录,再进行评论。

更多回答(0 个)

类别

帮助中心File Exchange 中查找有关 Dynamic System Models 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by