使用matlab求和系列

loading...


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

我google并发现“symsum”命令,但是当我编写以下命令时,它不执行我所需的任务

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

它给出了输出

ans = 385 ans = pi ^ 2/6

你能指导我如何创建产生输出的系列

http://upload.wikimedia.org/math/e/1/c/e1c5e8954e1e68099d77ac15ffa765a7.png

所以当我给命令diff(Sk);它应该产生结果或类似的东西
enter image description here

例如在Mathematica中,我可以这样做

SummationSeries with subscript

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

1回答

  • 6

    我看了symsum函数的帮助,你有一个非常好的例子,试试这个:

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

    此命令评估系列
    enter image description here
    ,实际计算结果为
    enter image description here
    . 如您所见,您必须指定系列的术语,其依赖性为'k' . 然后在symsum命令中,您必须指定要将'k'从0加到inf .

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

    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}
    

    希望这可以帮助,

loading...

评论

暂时没有评论!