Effacer les filtres
Effacer les filtres

Attempting to use Matlab to solve the system below:

2 vues (au cours des 30 derniers jours)
Vishnu Pydah
Vishnu Pydah le 13 Nov 2019
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);

Réponses (1)

Srimouli Rukmabhatla
Srimouli Rukmabhatla le 27 Mar 2020
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.

Tags

Produits


Version

R2018b

Community Treasure Hunt

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

Start Hunting!

Translated by