6

当我在matlab中写这个

syms x;
f=x^3-cos(x);
g=diff(f)

它给出的是

g =

3*x^2+sin(x)

现在我想生成总和系列
http://upload.wikimedia.org/math/e/1/c/e1c5e8954e1e68099d77ac15ffa765a7.png

我用谷歌搜索并找到了“symsum”命令,但是当我编写以下命令时,它并没有完成我所需的任务

syms k
symsum(k^2, 0, 10)
symsum(1/k^2,1,Inf)

它给出的输出为

答案 = 385

答案 = pi^2/6

你们能指导我如何生成产生输出的系列
http://upload.wikimedia.org/math/e/1/c/e1c5e8954e1e68099d77ac15ffa765a7.png

这样当我给出命令时 diff(Sk); 它应该产生类似的结果 在此处输入图像描述

例如在 Mathematica 我可以这样做

SummationSeries 带下标

您的帮助肯定会有很大帮助。

4

1 回答 1

6

我看过 symsum 函数的帮助,你有一个很好的例子,试试这个:

syms x;
syms k real;
symsum(x^k/sym('k!'), k, 0, inf)

此命令评估系列在此处输入图像描述,实际上评估为在此处输入图像描述。如您所见,您必须指定系列的术语及其对“k”的依赖性。然后在 symsum 命令中,您必须指定要对从 0 到 inf 的“k”求和。

例如,您可以执行以下操作:

syms x;
syms k real;
ak = (-1)^k*x^(2*k+1)/sym('(2*k+1)!');
sum_ak = symsum(ak, k, 0, inf);     % gives back sin(x)
dak = diff(ak,x);
sum_dak = symsum(dak, k, 0, inf);   % should give back cos(x), but does not
A5 = symsum(ak, k, 0, 5);           % add only the first values of the series
DA5 = symsum(dak, k, 0, 5);         % add the derivated terms of the series

您可以声明多个符号变量 uk 并将它们相加:

syms x;
syms k real;
n = 5;
for i = 0:n
    eval(['syms u',num2str(i),' real;']);
end

A = cell(1,n);
for i=1:n
    A{i} = u0;
    for j=1:i
        eval(['A{i} = A{i} + u',num2str(j),';']);
    end
end
A{3} % check the value of A{i}

希望这可以帮助,

于 2012-10-13T21:38:34.083 回答