error using sym/subs with logical operation

Hello,
here is my code
syms x1 x2
aa=x1 == 0 & x2 == 0
subs(aa, [0.5 0.5])
the result is
ans =
[ 1/2 == 0 & x2 == 0, 1/2 == 0 & x2 == 0]
I wanna get result like this
1/2==0 & 1/2==0
What's the problem?
Thanks.

 Réponse acceptée

Stephan
Stephan le 4 Juil 2019
Modifié(e) : Stephan le 4 Juil 2019
1
You only substitute x1 - you have to substitute them both. Try:
syms x1 x2
aa= x1 == 0 & x2 == 0
aa = subs(aa,[x1 x2], [0.5 0.5])
which results in:
aa =
1/2 == 0
2
Or use vectors, which doesnt work together with "&":
syms x1 x2
aa=[x1 == 0, x2 == 0]
aa = subs(aa,[x1 x2], [0.5 0.5])
result is:
aa =
[ 1/2 == 0, 1/2 == 0]
3
If you use 2 different numbers:
syms x1 x2
aa= x1 == 0 & x2 == 0
aa = subs(aa,[x1 x2], [0.5 0.6])
you get:
aa =
1/2 == 0 & 3/5 == 0
because Matlab can not simplify this, like it did in the first example.

3 commentaires

alice W
alice W le 4 Juil 2019
thank you very much!
Stephan
Stephan le 4 Juil 2019
my pleasure - please accept useful answers
Stephen23
Stephen23 le 4 Juil 2019
+1 clear and useful answer

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Symbolic Math Toolbox dans Centre d'aide et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by