How to express rest of expression in terms of other variables

3 visualizzazioni (ultimi 30 giorni)
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)

Risposta accettata

Star Strider
Star Strider il 29 Nov 2024
Modificato: Star Strider il 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 Commenti
Star Strider
Star Strider il 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);
.

Accedi per commentare.

Più risposte (0)

Categorie

Scopri di più su Symbolic Math Toolbox in Help Center e File Exchange

Tag

Prodotti


Release

R2022b

Community Treasure Hunt

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

Start Hunting!

Translated by