i cannot find all x values from abs(x) using solve() function

syms x
y=abs(x);
r=solve(y==1,x);
ans=
r = 1
but x can be 1 as well as -1,why doesnt they show -1 as well

Réponses (1)

Tell solve to show you the parameterized solution and the conditions that those parameters need to satisfy in order for the parameterized solution to be valid.
syms x
y=abs(x);
r=solve(y==1,x, 'ReturnConditions', true)
r = struct with fields:
x: exp(y*2i) parameters: y conditions: y <= pi & 0 <= y
x isn't the set [1, -1]. But that's because there are complex solutions.
yy = exp(1i/2) % This is r.x with parameter y = 1/4
yy = 0.8776 + 0.4794i
abs(yy)
ans = 1
Or if you only want real solutions tell solve that:
r=solve(y==1,x, 'ReturnConditions', true, 'Real', true)
r = struct with fields:
x: [2×1 sym] parameters: [1×0 sym] conditions: [2×1 sym]
r.x
ans = 

Catégories

En savoir plus sur Programming dans Centre d'aide et File Exchange

Produits

Version

R2021b

Community Treasure Hunt

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

Start Hunting!

Translated by