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!

采纳的回答

Steven Lord
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 个)

类别

Help CenterFile Exchange 中查找有关 Assumptions 的更多信息

产品


版本

R2019a

Community Treasure Hunt

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

Start Hunting!

Translated by