Partial sums of symbolic series?

2 次查看(过去 30 天)
I am just beginning to explore the symbolic math toolbox. And I can't work out how to create a sequence of symbolic partial sums. Suppose I enter, for example:
syms t
T = taylor(exp(sin(t),t,'Order',12)
c = children(T)
The answer has the constant term at the end, instead of the start, so that
cumsum(c)
is not correct. I can write a little program to list all the partial sums:
V = []
for n=1:12
V = [V,taylor(exp(sin(t),t,'Order',n)];
end
but that seems very clumsy. Is there a better, more canonic way to do this?
Finally, with the array V above, if I display V, it's done using abbreviations, so that terms aren't repeated. How can I display V simply, in full?

回答(2 个)

Walter Roberson
Walter Roberson 2016-10-13
cumsum([c(end), c(1:end-1)])
However, remember that the order of terms is not documented, so relying on children() to return them in sorted order is not robust. To get sorted order you should be looking at coeffs()

Alasdair McAndrew
Alasdair McAndrew 2016-10-13
Thank you - yes I know that the vector I gave can be re-ordered, but in general it would be nice if "children" (at least when applied to polynomials) could give its results in lexicographic order of powers of the variables.
So I guess it's back to "coeffs", as you say:
T = taylor(exp(sin(x),x,'Order',12)
[c,p] = coeffs(T,x)
terms = fliplr(c.*p)
cumsum(terms)
Thanks again for the heads up!
  2 个评论
Walter Roberson
Walter Roberson 2016-10-13
Remember too that it is common for either odd or even powers in taylor to be 0, so the cumulative sum there should reflect the 0 terms. That would correspond to using the 'All' parameter of coeffs.
Alasdair McAndrew
Alasdair McAndrew 2016-10-14
Good call! - yes, that would be a must.
Thanks again.

请先登录,再进行评论。

类别

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

Community Treasure Hunt

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

Start Hunting!

Translated by