在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中实现它?
答案 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)
当然,您应该说明alpha
和n