我想用Maple绘制以下表达式:
> I_n:=Sum((H_(k+1)H_(n-k+1))/k+2,k=0..n);
女巫
> H_n:=sum(1/k,k=1..n);
我的工作:
>f:=n->sum(1/k,k=1..n);
I_n:=sum(f(j+1)*f(n-j+1)/(j+2), j = 0 .. n);
但我不知道如何画这个。
感谢您的帮助。
答案 0 :(得分:1)
plot(I_n, n= 0..20);
或将20更改为任何其他上限。
答案 1 :(得分:1)
如果您区分是否允许n
采用非整数值(例如,n = 10.23等),则会对结果产生重大影响。
您最初编写Sum
来定义I_n
,但您的代码片段只有小写sum
。您应该小心尝试和使用它,因为它会影响plot
尝试使用n
的非整数值时发生的情况。 (在Sum
上使用n
而不进行任何舍入调用也可能会产生一个空图,因为evalf/Sum
会对非浮动值产生影响,并且您可以偶然得到一个空图。)< / p>
比较所有这些内容,特别注意使用n
定义sum
时出现在求和之外的I_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
的结果可能不是您想要绘制的内容。如果是这样,那么在绘制它时你应该考虑到这一点。