Filter löschen
Filter löschen

Symbolically solving an equation with multiple variables

2 Ansichten (letzte 30 Tage)
Anna Julia
Anna Julia am 20 Mai 2024
Verschoben: VBBV am 24 Mai 2024
This is the nozzle expansion ratio equation and I am attempting to solve for the exit pressure. It is quite complex to rearrange for Pe (exit pressure) by hand so I figured I would put it into Matlab and solve symbollically. I keep getting an empty vector for solveEqn... I'm quite inexperienced with solving symbollically in Matlab so I would appreciate some help. Thank you.
syms Pe k A_ratio Pc
A_ratio = 2.06265092035577;
k = 1.1876;
Pc = 3447378.65;
eqn = ((k+1)/2)^(1/(k+1))*(Pe/Pc)^1/k*sqrt((k+1)/(k-1))*(1-(Pe/Pc)^(k-1)/k) == A_ratio;
solveEqn = solve(A_ratio, Pe);

Antworten (1)

VBBV
VBBV am 21 Mai 2024
Verschoben: VBBV am 24 Mai 2024
@Anna Julia, You can calculate the exit pressure something like this, by using the eqn and vpasolve
% exit pressure low
syms Pe
A_ratio = 2.06265092035577;
k = 1.1876;
Pc = 3447378.65;
eqn = ((k+1)/2)^(1/(k+1))*(Pe/Pc)^(1/k)*sqrt((k+1)/(k-1))*(1-(Pe/Pc)^(k-1)/k) == A_ratio;
solveEqn = vpa(real(vpasolve(eqn, Pe)),8)
solveEqn = 
% check the equation you typed in Matlab with actual equation
% exit pressure high (undesirable)
eqn = ((k+1)/2)^(1/(k+1))*(Pe/Pc)^(1/k)*sqrt(((k+1)/(k-1))*(1-(Pe/Pc)^(k-1)/k)) == A_ratio;
solveEqn = vpa(real(vpasolve(eqn, Pe)),8)
solveEqn = 
5110154.2

Produkte


Version

R2024a

Community Treasure Hunt

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

Start Hunting!

Translated by