Test equality of two symbolic expressions
    12 visualizaciones (últimos 30 días)
  
       Mostrar comentarios más antiguos
    
    Vinicius Lopes Simoes
 el 11 de Mayo de 2020
  
    
    
    
    
    Respondida: Steven Lord
    
      
 el 11 de Mayo de 2020
            Suppose, for the sake of simplicity, that I need to compare two equivalent symbolic expressions in Matlab.
syms a b
x = sin(a + b);
y = sin(a)*cos(b) + sin(b)*cos(a);
And, obviously, we know that  . Now if I use the Matlab functions isequal (or isequaln), I don't get the expected result, which is a logical 1, because this is an equality:
. Now if I use the Matlab functions isequal (or isequaln), I don't get the expected result, which is a logical 1, because this is an equality:
 . Now if I use the Matlab functions isequal (or isequaln), I don't get the expected result, which is a logical 1, because this is an equality:
. Now if I use the Matlab functions isequal (or isequaln), I don't get the expected result, which is a logical 1, because this is an equality:>> isequal(x,y)
ans =
    logical
    0
Why does it happen? Is there any function that does what I am trying to do?
Thanks!
0 comentarios
Respuesta aceptada
  Steven Lord
    
      
 el 11 de Mayo de 2020
        Ask MATLAB if those two symbolic expressions isAlways equal.
>> syms a b
>> x = sin(a + b);
>> y = sin(a)*cos(b) + sin(b)*cos(a);
>> isAlways(x==y)
ans =
  logical
   1
0 comentarios
Más respuestas (0)
Ver también
Categorías
				Más información sobre Assumptions en Help Center y File Exchange.
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!

