フィルターのクリア

Symbolically solving an equation with multiple variables

2 ビュー (過去 30 日間)
Anna Julia
Anna Julia 2024 年 5 月 20 日
移動済み: VBBV 2024 年 5 月 24 日
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);

回答 (1 件)

VBBV
VBBV 2024 年 5 月 21 日
移動済み: VBBV 2024 年 5 月 24 日
@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

カテゴリ

Help Center および File ExchangeNumeric Solvers についてさらに検索

製品


リリース

R2024a

Community Treasure Hunt

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

Start Hunting!

Translated by