使用symsum的Matlab中的符号求和

时间:2013-11-04 03:03:10

标签: matlab symbolic-math

在matlab中,当k为1到6时,我实现了系列之和(x ^ k)/(2 * k),如下所示:

syms x;
syms k real;
symsum(x^k/(2*k), k, 1, 6)

上述总和只有一个符号变量(x)。现在我想在Matlab中实现以下总和(alpha和n是常量)。如您所见,根据n的值,我们将有不同数量的符号变量。例如,如果n = 2,那么我们有2个符号变量x1和x2。如果n = 4,那么我们有4个符号变量x1,x2,x3和x4。我怎样才能在Matlab中实现它?

enter image description here

2 个答案:

答案 0 :(得分:1)

您可以使用

创建符号变量的1xN向量
A=sym('A',[1 N]);

然后使用i访问A(i)个元素。

有关详细信息,请参阅here

至于写这笔钱,我实在无能为力。我想你可以使用for循环并指定索引,即

S=0;
for i=1:N/2
    S=S+alpha*(x(2*i)-x(2*i-1)^2)+(1-x(2*i-1))^2;
end

但这并没有简化答案。我不知道有更好的方法。

答案 1 :(得分:0)

如果您可以接受Mupad解决方案,请尝试

sum(alpha*(x(2*k)-x(2*k-1)^2)+(1-x(2*k-1))^2, k=1..n/2)

当然,您应该说明alphan