Solving Inequalities with Matlab

114 vues (au cours des 30 derniers jours)
Dimitrios Anagnostou
Dimitrios Anagnostou le 27 Mar 2023
Commenté : Walter Roberson le 27 Mar 2023
I guess this is a frequent question here but the answers I have seen did not help me.
I want to solve the following inequality: |x-2| > 2|x+1|.
Manually, we get
In Mathematica there is the built-in function Reduce.
In[58]:= Reduce[Abs[x - 2] > 2 Abs[x + 1], x, Reals]
Out[58]= -4 < x < 0
With Matlab I get
>> version
ans =
'9.13.0.2105380 (R2022b) Update 2'
>> syms x real
>> solve(abs(x-2) > 2*abs(x+1), x)
ans =
-2
There is this answer here that uses Mupad's Solve function but apparently it does not work anymore.
Is there a way to use a Matlab function, not necessarily solve to get the correct domain? Thank you very much.

Réponse acceptée

Dyuman Joshi
Dyuman Joshi le 27 Mar 2023
You need to use 'ReturnConditions' as true to obtain the conditions on the solution
syms x real
sol=solve(abs(x-2) > 2*abs(x+1), x,'ReturnConditions',true)
sol = struct with fields:
x: x parameters: x conditions: x < 0 & -4 < x
  4 commentaires
Steven Lord
Steven Lord le 27 Mar 2023
Yes, on the documentation page for the solve function. This documentation page also includes an example, "Solve Inequalities", that shows its use.

Connectez-vous pour commenter.

Plus de réponses (0)

Produits


Version

R2022b

Community Treasure Hunt

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

Start Hunting!

Translated by