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.

 Respuesta aceptada

Stephan
Stephan el 4 de Jul. de 2019
Editada: Stephan el 4 de Jul. de 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 comentarios

alice W
alice W el 4 de Jul. de 2019
thank you very much!
Stephan
Stephan el 4 de Jul. de 2019
my pleasure - please accept useful answers
Stephen23
Stephen23 el 4 de Jul. de 2019
+1 clear and useful answer

Iniciar sesión para comentar.

Más respuestas (0)

Etiquetas

Preguntada:

el 4 de Jul. de 2019

Comentada:

el 4 de Jul. de 2019

Community Treasure Hunt

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

Start Hunting!

Translated by