Solving Inequalities using symbolic tool box

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 = 
Jagadeesh Korukonda
Jagadeesh Korukonda 2023 年 10 月 31 日
Thanks @Torsten

サインインしてコメントする。

回答 (1 件)

Walter Roberson
Walter Roberson 2023 年 10 月 31 日

1 投票

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 = 

サインインしてコメントする。

カテゴリ

製品

リリース

R2023a

質問済み:

2023 年 10 月 28 日

コメント済み:

2023 年 10 月 31 日

Community Treasure Hunt

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

Start Hunting!

Translated by