【发布时间】:2018-05-18 00:30:33
【问题描述】:
有没有一种简单的方法可以从系列命令的结果中定义一个函数? (即没有余项)
例如
[> series(cos(x), x=0, 5);
1-1/2*x^2+1/24*x^4+O(x^5)
我想定义一个函数
[> f:=(x)->1-1/2*x^2+1/24*x^4;
我不知道没有手动复制/粘贴的简单方法,我需要动态进行。目前我这样做的方式真的很麻烦:
[> S:=series(cos(x), x=0, 5);
f:=unapply(`+`(seq(op(S)[2*k-1]*x^(op(S)[2*k]), k=1..nops(S)/2-1)), x);
如果是generalized series requiring fractional exponents,我可以这样做:
[> S:=series(sqrt(sin(x)), x=0, 4);
f:=unapply(S-op(S)[nops(S)], x);
我不知道将两种情况合并为一个的可靠方法(第二种情况下的项数与顺序相似,而第一种情况下几乎是两倍,但这不是一种可靠的方法,因为某些功能即使是高阶项也可能很少)。
【问题讨论】: