Solving Inequalities using symbolic tool box

40 次查看(过去 30 天)
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 个评论
Torsten
Torsten 2023-10-28
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 = 

请先登录,再进行评论。

回答(1 个)

Walter Roberson
Walter Roberson 2023-10-31
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 个评论
Walter Roberson
Walter Roberson 2023-10-31
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 = 

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Get Started with Symbolic Math Toolbox 的更多信息

产品


版本

R2023a

Community Treasure Hunt

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

Start Hunting!

Translated by