Test equality of two symbolic expressions
11 次查看(过去 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:

>> 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!