Attempting to use Matlab to solve the system below:

I am trying to solve the system below and I know for a fact that there are general solutions. For example, if I set the system == to 0 for both variables I get a family solutions. I know the solution is Kd <= 0 and 1/4(4 - Kd^2) <= Kp <= 1 thanks to Mathematica.
What is the issue here? Why is Matlab giving me a "Unable to find an explicit solution" error here?
syms Kp, Kd;
[Kd, Kp] = solve(real(Kd/2 - (Kd^2 + 4*Kp - 4)^(1/2)/2) <= 0, real(Kd/2 + (Kd^2 + 4*Kp - 4)^(1/2)/2) <= 0, vars);

답변 (1개)

Srimouli Rukmabhatla
Srimouli Rukmabhatla 2020년 3월 27일
Hi,
You can use the following script to return a real solution.
syms Kp Kd
[Kd, Kp] = solve((Kd/2 - (Kd^2 + 4*Kp - 4)^(1/2)/2) <= 0, (Kd/2 + (Kd^2 + 4*Kp - 4)^(1/2)/2) <= 0,Kp,Kd,'Real',true);
For more information you can refer to the following documentation of solve function https://www.mathworks.com/help/symbolic/troubleshoot-equation-solutions-from-solve-function.html.

카테고리

도움말 센터File Exchange에서 Mathematics and Optimization에 대해 자세히 알아보기

제품

릴리스

R2018b

태그

질문:

2019년 11월 13일

답변:

2020년 3월 27일

Community Treasure Hunt

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

Start Hunting!

Translated by