MATLAB: Taylor Series on numbers

seriestaylor

Hi,
I know that I can perform series expansion of the function let say sin(x) by writing a following script commands:
syms x a
F = a*sin(x)
taylor(F,x,6);
The output is a nice series expansion of sin(x) up to 5th term. However, when I have a number such as F=1 , the taylor gives the error message and fails to give a correct answer which is 1. Is there a way to work around it? Is there a way to verify if F contains variable x or not so that taylor can be avoided when F does not have x variable. Thanks.

Best Answer

Works fine for me.
syms x
F = sym(1);
taylor(F,x,5)
ans =
1
What you misunderstand is that taylor does not apply to a double variable. However, it works fine for a symbolic constant.
As for how to tell the difference, here is a thought:
isnumeric(F)
ans =
0
G = 1;
isnumeric(G)
ans =
1
Alternatively, you could use a try/catch construct to detect if there was a problem.