如何用Mathematica实现
比如现在有这样一个式子:
Product[Sum[f[ j ]/x[ i ]],{j, n}]], {i, k}] {c[1] (-1 + c[2]).(-n+1+c[n]}
当k=2,n=2时,上面的式子为
(f[1]/x[1]+f[2]/x[1])(f[1]/x[2]+f[2]/x[2]){c[1] (-1 + c[2])}(1式);
程序的大概思路是这样的:
1、让(1)式中的 (f[1]/x[2]+f[2]/x[2]) 先与 {c[1] (-1 + c[2])}相乘(即从后向前乘)结果为
(f[1]/x[2]) c[1] (-1 + c[2])+ (f[2]/x[2])c[1] (-1 + c[2]) (2式);
(注: c[1] (-1 + c[2])这项相乘的时候不展开,保持原来的形式)
2、接下来,以(2式)中的第一项(f[1]/x[2]) c[1] (-1 + c[2])为例,
f[1]与 c[1] (-1 + c[2]) 相乘,c[1]就变成(-1+c[1]) ,
即 (f[1]/x[2]) c[1] (-1 + c[2]) =(f[1]/x[2])(-1+c[1] )(-1 + c[2]) , ( 3式);
即有一个f[1]则 c[1]降1,
同理(2)式中的第二项
(f[2]/x[2]) c[1] (-1 + c[2])= (f[2]/x[2]) c[1] (-2+ c[2]) (4式);
即有一个f[2]则 c[2]降1,
3、根据 2 的描述可知,(2式)的输出为
(f[1]/x[2]) (-1+c[1] )(-1 + c[2]) +(f[2]/x[2]) c[1] (-2+ c[2])(5式);
但是对于c[1]、c[2]减去相同系数的项要刨除掉,即(-1+c[1] )(-1 + c[2])
这一项去掉,那么(5)式变为
(f[2]/x[2]) c[1] (-2+ c[2])(6式);
4、然后再将(1)式中的 (f[1]/x[1]+f[2]/x[1]) 与(6式)相乘,
仍要遵循1、2、3中的规律.
(f[1] /x[1] +f[2]/x[1]) (f[2]/x[2]) c[1] (-2+ c[2])
=(f[1]/x[1]) (f[2]/x[2])c[1] (-2+ c[2])+(f[2]/x[1]) (f[2]/x[2])c[1] (-2+ c[2])
= (f[1]/x[1]) (f[2]/x[2])(-1+c[1])(-2+ c[2]) +(f[2]/x[1]) (f[2]/x[2])c[1](-3+ c[2])
所以,对于(1)式最后的输出为
(f[1]/x[1])(f[2]/x[2]) (-1+c[1]) (-2+ c[2])+(f[2]/x[1])(f[2]/x[2]) c[1] (-3+ c[2])
当n、k取较大的值是,情况要复杂些,但是仍按照上面的规律,从
Sum[f[ j ]/x[ k ],{ j,n}] 到Sum[f[ j ]/x[1],{ j,n}] 依次与{c[1] (-1 + c[2]).(-n+1+c[n] } 相乘.f[ j ]出现一次次与其相乘的c[ j ]就减一;对于 c[j]只要在同一项中有两个c[ j ]减去相同的系数,这一项就去掉..
人气:273 ℃ 时间:2020-06-15 20:15:31
解答
嗯,大致能感觉到你在思路改进上的努力,但是我想说的是,我的感觉是——我的直觉是,你的思路上了歧途了,这种内置函数一个也用不进去,模式匹配不好用,要在各种步骤上阻碍软件对等式的自动计算,整体透着浓浓的过程式编程的味道的实现思路……用这种思路是没法发挥出Mathematica的力量的.“多项式”关键字下有这么多的内置函数,难道其中就没有你用的上的吗?
此外,需要注意的是,你的要求越是具体(至今为止你对你希望实现的程序的所有步骤都做了十分详细的要求)就越有可能限制答题者的思路,因为,你的要求中的所有步骤可能对你来说都是必要的,可是,在已经答了这么多个你的问题的现在,我不禁想问,这些步骤对你来说都是必要的吗?你需要的是否只是最后的结果?说到底,你想要的结果到底是啥?你问了这么多问题我也没法看出你到底在试图实现什么,你不妨说说你要做的是什么吧,那样对解决问题可能还有点帮助.
推荐
猜你喜欢
- 已知f(x)的定义域为R,y=f(x-2)是偶函数,且f(x)在[-4,-2]上是增函数,则f(-3.5),f(1),f(0)的大小关系为
- 问8道英语的动词填空.
- 松鼠储存食物的习性
- 一个长方体长6米,宽米,体积422立方米,高是多少米?
- 为什么位移时间图像只能描述直线运动?
- 孔子、孟子、荀子政治思想的基本内容是什么?您对他们有什么看法?
- 已知函数f(x)=-x2+4x+a,x∈[0,1],若f(x)有最小值-2,则f(x)的最大值为( ) A.1 B.0 C.-1 D.2
- 一本书已看过的页数是剩下页数的五分之二,则该书剩下的页数占这本书的总页数的几分之几