在下面的示例中,为什么第一个series(f,n=infinity,9);
会返回一系列订单8,但只有在执行series(f,n=infinity,10);
后才返回一系列订单9?
|\^/| Maple 17 (X86 64 LINUX) ._|\| |/|_. Copyright (c) Maplesoft, a division of Waterloo Maple Inc. 2013 \ MAPLE / All rights reserved. Maple is a trademark of Waterloo Maple Inc. | Type ? for help. > f := 1 + (n-1)*6/n^3 - (1+6/n^3)^(n-2) * (1+6/n^3/(1+(n^2/2)*6/n^3)); 6 (n - 1) / 6 \(n - 2) / 6 \ f := 1 + --------- - |1 + ----| |1 + ------------| 3 | 3 | | 3 | n \ n / \ n (1 + 3/n)/ > series(f,n=infinity,8); 198 810 1 --- - --- + O(----) 6 7 8 n n n > series(f,n=infinity,9); 198 810 1 --- - --- + O(----) 6 7 8 n n n > series(f,n=infinity,10); 198 810 2952 11070 1 --- - --- + ---- - ----- + O(---) 6 7 8 9 10 n n n n n > series(f,n=infinity,9); 198 810 2952 1 --- - --- + ---- + O(----) 6 7 8 9 n n n n
答案 0 :(得分:2)
series命令的帮助页面的Description部分中的第三段提到order
参数指定了计算的截断顺序,并且不一定是返回系列的顺序。
此外,还有一个记忆表,因此当计算后续的较低截断顺序查询时,可能会快速截断更高阶的返回结果。 (Order
环境变量的处理方式与Digits
环境变量类似,因为在进行较粗略的查询时,更好或更准确的保存结果可能会被快速截断/舍入。)
请求清除series
的记忆表后,必须再次实际计算低阶查询(使用指定的计算截断顺序),而不是仅查找和截断。
restart:
kernelopts(version);
Maple 17.02, X86 64 WINDOWS, Sep 5 2013, Build ID 872941
f := 1 + (n-1)*6/n^3 - (1+6/n^3)^(n-2) * (1+6/n^3/(1+(n^2/2)*6/n^3)):
series(f,n=infinity,9);
198 810 /1 \
--- - --- + O|--|
6 7 | 8|
n n \n /
series(f,n=infinity,10);
198 810 2952 11070 / 1 \
--- - --- + ---- - ----- + O|---|
6 7 8 9 | 10|
n n n n \n /
series(f,n=infinity,9);
198 810 2952 /1 \
--- - --- + ---- + O|--|
6 7 8 | 9|
n n n \n /
forget(series);
series(f,n=infinity,9);
198 810 /1 \
--- - --- + O|--|
6 7 | 8|
n n \n /