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?

 Accepted Answer

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

2 Comments

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.

Sign in to comment.

More Answers (0)

Categories

Community Treasure Hunt

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

Start Hunting!