Taylor Series on numbers

1 view (last 30 days)
mathango
mathango on 27 Jan 2016
Commented: mathango on 27 Jan 2016
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.

Accepted Answer

John D'Errico
John D'Errico on 27 Jan 2016
Edited: John D'Errico on 27 Jan 2016
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.
  1 Comment
mathango
mathango on 27 Jan 2016
Hi John,
Thanks for the answer. The second string of code (isnumeric) works. However, the first string of code with sym(1) method does not work. I think it is due to the fact that I am using old version matlab 6.5 Looks like I have to use the second method and try/catch to get around that limitation. Again, thanks.

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!