Solve two equations for one variable
조회 수: 1 (최근 30일)
이전 댓글 표시
Hello everyone!
I am having problems to solve a simple system of two equations for a single variable. The equations look like:

It is possible to analytically calculate the solution for
through the following steps:
- Isolate
in the second equation and replace it in the first equation:

- Then using the fact that


- Then, isolating
:
- Finally:

Using MATLAB Symbolic Toolbox, I wrote the following piece of code in order to find the same analytical solution:
syms P_st vdq_st_abs Vabs delta_st Vangle Xg Q_st
eq1 = P_st - vdq_st_abs * Vabs * sin(delta_st - Vangle) / Xg == 0;
eq2 = (Q_st * Xg - Vabs^2)/(Vabs * cos(delta_st - Vangle)) - vdq_st_abs == 0;
eqs = [eq1; eq2];
sol = solve(eqs, delta_st);
disp(sol)
However, the output is parameterized, and I do not understand it very well. Could someone explain me this parametrization? Also, why can't MATLAB output the same analytical solution I just mentioned?
Thank you very much in advance!
댓글 수: 0
답변 (1개)
Torsten
2023년 7월 18일
syms P_st vdq_st_abs Vabs delta_st Vangle Xg Q_st real
eq1 = P_st - vdq_st_abs * Vabs * sin(delta_st - Vangle) / Xg == 0;
eq2 = (Q_st * Xg - Vabs^2)/(Vabs * cos(delta_st - Vangle)) == vdq_st_abs;
eqn = lhs(eq1) * lhs(eq2) == 0;
sol = solve(eqn,delta_st,'ReturnConditions',1)
sol.delta_st
sol.conditions
댓글 수: 4
Torsten
2023년 7월 19일
My guess is this is what you want:
syms P_st vdq_st_abs Vabs delta_st Vangle Xg Q_st real
eq1 = P_st - vdq_st_abs * Vabs * sin(delta_st - Vangle) / Xg == 0;
eq2 = (Q_st * Xg - Vabs^2)/(Vabs * cos(delta_st - Vangle)) == vdq_st_abs;
S = solve([eq1,eq2],[delta_st,vdq_st_abs])
simplify(S.delta_st(1))
simplify(S.delta_st(2))
참고 항목
카테고리
Help Center 및 File Exchange에서 Calculus에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!




