Solving Inequalities using symbolic tool box

61 vues (au cours des 30 derniers jours)
Jagadeesh Korukonda
Jagadeesh Korukonda le 28 Oct 2023
Commenté : Walter Roberson le 31 Oct 2023
When I try to solve simple inequality
let say
the solution is
but matlab is giving wierd answers
syms x
solve(x^2 - 25>0,x)
ans = 
can somone help me, how to fix this issue?
  2 commentaires
Torsten
Torsten le 28 Oct 2023
syms x real
sol = solve(x^2 - 25>0,x,'ReturnConditions',1);
sol = struct with fields:
x: [2×1 sym] parameters: x conditions: [2×1 sym]
sol.x(1)
ans = 
x
sol.x(2)
ans = 
x
sol.conditions
ans = 
Jagadeesh Korukonda
Jagadeesh Korukonda le 31 Oct 2023
Thanks @Torsten

Connectez-vous pour commenter.

Réponses (1)

Walter Roberson
Walter Roberson le 31 Oct 2023
It is common with the symbolic engine that in practice you need to convert inequalities into equalities by introducing a non-negative or a positive "excess" variable -- so if f(x) > y(x) then f(x) - y(x) > 0; let δ quantify how much more so f(x) - y(x) = delta for positive delta. Now you can try to solve() your system for the other variables and you will get back a system of solutions in terms of the quantified-excess variables
  1 commentaire
Walter Roberson
Walter Roberson le 31 Oct 2023
syms x real
syms delta positive
eqn = x^2 - 25 == delta %amount difference of terms is greater than 0
eqn = 
sol = solve(eqn, x)
sol = 

Connectez-vous pour commenter.

Produits


Version

R2023a

Community Treasure Hunt

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

Start Hunting!

Translated by