Solving Inequalities using symbolic tool box

61 views (last 30 days)
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 Comments
Torsten
Torsten on 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 = 

Sign in to comment.

Answers (1)

Walter Roberson
Walter Roberson on 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 Comment
Walter Roberson
Walter Roberson on 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 = 

Sign in to comment.

Products


Release

R2023a

Community Treasure Hunt

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

Start Hunting!