我有以下问题 - 我需要尽量减少枫木的总和。例如,假设我有这个:
EXPESSION:= A [0] + A [1] + A [2] + A [3] + A [4] + A [5];
我想使用一些功能
someFunction(表达式);
将返回Sum的符号(如sum(A [i],i = 0 .. 5));
是否存在某种类似的功能?
答案 0 :(得分:2)
好吧,我想你需要一些东西来压缩现有的激情。如果您愿意指定summand,index和index范围,那么someFunction可以减去这些术语并添加(未评估的)这些术语的总和。
convert_to_Sum:= (ex, summand, index)->
simplify(ex - sum(summand, index) + Sum(summand, index))
;
示例:
ex:= A[0]+A[1]+A[2]+A[3]+A[4]+A[5];
convert_to_Sum(ex, A[i], i= 0..5);
答案 1 :(得分:1)
使用Sum(A[i], i= 0..5)
请注意,Sum是大写的。我意识到这不处理表达式已经存在的情况,这可能是你最感兴趣的。