Sum 如何用Maple计算一个总数?

Sum 如何用Maple计算一个总数?,sum,maple,Sum,Maple,我想用枫树画出以下的表达: > I_n:=Sum((H_(k+1)H_(n-k+1))/k+2,k=0..n); 女巫 我的工作: >f:=n->sum(1/k,k=1..n); I_n:=sum(f(j+1)*f(n-j+1)/(j+2), j = 0 .. n); 但我不明白我怎么能画出这个 感谢您的帮助。绘图(I\n,n=0..20) 或者将20更改为任何其他上限。如果您区分n是否允许采用非整数值(例如,n=10.23等),则会对结果产生很大影响 您最初编写的Sum用于定义I\u n,但

我想用枫树画出以下的表达:

> I_n:=Sum((H_(k+1)H_(n-k+1))/k+2,k=0..n);
女巫

我的工作:

>f:=n->sum(1/k,k=1..n); 
I_n:=sum(f(j+1)*f(n-j+1)/(j+2), j = 0 .. n);
但我不明白我怎么能画出这个

感谢您的帮助。

绘图(I\n,n=0..20)

或者将20更改为任何其他上限。

如果您区分
n
是否允许采用非整数值(例如,n=10.23等),则会对结果产生很大影响

您最初编写的
Sum
用于定义
I\u n
,但随后您的代码片段使用小写的
Sum
。您应该小心尝试和使用哪一个,因为它会影响
plot
尝试使用
n
的非整数值时发生的情况。(在
n
上使用
Sum
而不进行任何舍入调用,也会有生成空绘图的风险,因为
evalf/Sum
将在非浮点值处阻塞,您可能会意外获得空绘图。)

比较所有这些,特别注意当使用
sum
定义
I\u n
时,总和之外出现的
n
(作为部分结果)

由您决定是否希望
n
为纯整数值,然后选择相应的绘图方法

f:=n->sum(1/k,k=1..n):

I_n:=Sum(f(j+1)*f(n-j+1)/(j+2), j = 0 .. n);

sum(f(j+1)*f(n-j+1)/(j+2), j = 0 .. n); # Note the `n` outisde the sum.

value(I_n); # As if I_n:=sum(...) had been used. Note the `n` outside the sum.

plot(value(I_n), n= 0..20); # also what you'd get if you plotted I_N:=sum(...)

plot(subs(n=floor(n),I_n), n=0..20); # Step function. Could also try with round().

plot(I_n, n=0..20); # Empty plot since I_n=Sum(...) used without rounding `n`.

plots:-pointplot([seq([n,I_n],n=0..20)]); # use style=line option to join the points

我的主要观点是执行
sum(f(j+1)*f(n-j+1)/(j+2),j=0..n)
的结果很可能不是在
n
不是整数的情况下想要绘制的结果。如果是这样的话,那么你在绘制它时应该考虑到这一点。

阅读Acer的答案后,我意识到你使用了小写的
sum
和大写的
sum
。我的答案仅适用于始终使用小写的
sum
的情况。如果两个位置都使用
sum
,则
绘图(I\u n,n=0..20)
将计算非整数值的符号
sum
结果。由于调用
sum
来定义
I\u n
会导致表达式
n
在任何未计算的
sum
之外,因此
plot
使用的
n
的浮点值将生成值和曲线,如果只打算使用
n
的整数值(这似乎是一个合理的猜测)1.非常感谢你抽出时间来,非常有趣。因此,如果我理解正确,我必须使用-pointplot([seq([n,I_n],n=0..20)]来绘制n个纯整数的和?如果您只想在生成图时使用n的整数值,那么实现这一点的一种方法是创建一个列表(就像我在pointplot示例中所做的那样)或一个包含n和I_n值的mx2矩阵。然后,您可以将其与plots:-plot或plot命令一起使用,并使用这些命令中的style=point或style=line选项控制外观。
f:=n->sum(1/k,k=1..n):

I_n:=Sum(f(j+1)*f(n-j+1)/(j+2), j = 0 .. n);

sum(f(j+1)*f(n-j+1)/(j+2), j = 0 .. n); # Note the `n` outisde the sum.

value(I_n); # As if I_n:=sum(...) had been used. Note the `n` outside the sum.

plot(value(I_n), n= 0..20); # also what you'd get if you plotted I_N:=sum(...)

plot(subs(n=floor(n),I_n), n=0..20); # Step function. Could also try with round().

plot(I_n, n=0..20); # Empty plot since I_n=Sum(...) used without rounding `n`.

plots:-pointplot([seq([n,I_n],n=0..20)]); # use style=line option to join the points