我有以下Maxima代码:
m:sum(x[i],i,1,N)/N;然后我想要计算$m^2$。
m2:m^2, sumexpand;然后我得到两次求和:
sum(sum(x[i1]*x[i2],i1,1,N),i2,1,N)/N^2我想要实现的是将其扩展为两个和。
第一个是sum(x[i]^2,i,1,N),第二个是rest over non-equal indices。我该怎么做呢?我应该如何使用m的任意功能来做到这一点?
发布于 2015-02-06 03:37:26
默认情况下,sum不会声明为线性;您可以将其声明为线性,然后重新简化。请注意,要获得预期的效果,必须声明sum的名词形式。
(%i1) m:sum(x[i],i,1,N)/N;
N
====
\
> x
/ i
====
i = 1
(%o1) --------
N
(%i2) m2:m^2, sumexpand;
N N
==== ====
\ \
> > x x
/ / i1 i2
==== ====
i1 = 1 i2 = 1
(%o2) ---------------------
2
N
(%i3) declare (nounify(sum), linear);
(%o3) done
(%i4) ''%o2;
N N
==== ====
\ \
( > x ) > x
/ i1 / i2
==== ====
i1 = 1 i2 = 1
(%o4) -----------------------
2
Nhttps://stackoverflow.com/questions/28340690
复制相似问题