Test equality of two symbolic expressions
    12 次查看(过去 30 天)
  
       显示 更早的评论
    
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 个评论
采纳的回答
  Steven Lord
    
      
 2020-5-11
        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 个评论
更多回答(0 个)
另请参阅
类别
				在 Help Center 和 File Exchange 中查找有关 Assumptions 的更多信息
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!

