MATLAB: What’s the difference between sin(t) and square(t)

functions

If I code like
signal1 = sin(t);
signal1 = square(t);
then
The first one is valid but the second one is invalid showing 'Input arguments must be 'double'.'
It looks like same as built-in functions but the usages is different
What's the difference between those as the usages??

Best Answer

Let me guess. You have defined t to be a symbolic variable?
You can verify that using the whos command. Thus, if I do this:
syms t
whos t
Name Size Bytes Class Attribute
t 1x1 8 sym
So t is symbolic, as you see above.
I can use sin(t), because the symbolic toolbox can work with the sin function. However, square is a function from the signal processing toolbox. It REQUIRES double precision inputs. Therefore, you get an error message.
Not all functions are defined for symbolic input.