How to express rest of expression in terms of other variables

4 views (last 30 days)
Hi,
In the following code, I would like to get the final expression for p/Phi_V. How can I do that?
syms p K_B Phi_V Phi_G s K_i K_p real;
Phi_G = p/s*(K_p + K_i/s);
p = K_B*(Phi_V - Phi_G)

Accepted Answer

Star Strider
Star Strider on 29 Nov 2024
Edited: Star Strider on 29 Nov 2024
Try this —
syms p K_B Phi_V Phi_G s K_i K_p real;
Phi_G = p/s*(K_p + K_i/s)
Eqn1 = p == K_B*(Phi_V - Phi_G)
Eqn2 = isolate(Eqn1, p)
pretty(Eqn2) % Necessary To Display Reesult
2 K_B Phi_V s p == ------------------------ 2 s + K_B K_p s + K_B K_i
Eqn3 = Eqn2 / Phi_V
pretty(Eqn3) % Necessary To Display Reesult
2 p K_B s ----- == ------------------------ Phi_V 2 s + K_B K_p s + K_B K_i
EDIT — Added pretty calls. Corrected typographical errors.
.
  2 Comments
Star Strider
Star Strider on 29 Nov 2024
My pleasure!
If my Answer helped you solve your problem, please Accept it!
If you add:
p_over_Phi_v = matlabFunction(rhs(Eqn3))
you can get an anonymous function for the expression
p_over_Phi_V = function_handle with value:
@(K_B,K_i,K_p,s)(K_B.*s.^2)./(s.^2+K_B.*K_i+K_B.*K_p.*s)
or more simply:
p_over_Phi_V = @(K_B,K_i,K_p,s)(K_B.*s.^2)./(s.^2+K_B.*K_i+K_B.*K_p.*s);
.

Sign in to comment.

More Answers (0)

Categories

Find more on Symbolic Math Toolbox in Help Center and File Exchange

Tags

Products


Release

R2022b

Community Treasure Hunt

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

Start Hunting!