【问题标题】:Distinguish two equal variables?区分两个相等的变量?
【发布时间】:2018-03-19 15:39:47
【问题描述】:

大家。我有这个表情

expr = (A (n1 - n1^2 + n2 + 2 n1 n2 - n2^2) + 
c ((-1 + n1) n1 - (1 + 2 n1) n2 + n2^2) + 
n1 (1 - n1 + n2) \[Gamma]1 + (1 + n1 - n2) n2 \[Gamma]2)/(B (1 + n1 +
n2))

我希望简化它,假设 n1=n2 和 n1 + n2 = N。但是,我想保持这两个变量之间的区别。

我应该找到

(N (A - c + (n2 [Gamma]2 * n1 [Gamma]1) / N)/(B (1 + N))

但是我不知道如何输入假设,因为 n1 == n2 替换了变量。

Simplify[expr, {n1 == n2, n1 + n2 == n}]

我在下面找到了解决方案,并且分子 n1 消失了

(n2 (2 A - 2 c + \[Gamma]1 + \[Gamma]2))/(b (1 + n1 + n2))

如果您有答案,请提前感谢

【问题讨论】:

  • 你所问的根本就不是很好。如何简化知道在哪里使用规则,在哪里不使用?不要使用大写N作为变量顺便说一句,它是一个内置符号。

标签: wolfram-mathematica symbolic-math


【解决方案1】:

如果你知道gamma1,gamma2 的系数应该是n1,n2,你可以通过一个临时替换来通过另一个替换来保存符号..

expr /. 
   { \[Gamma]1 ->  Hold[n1] \[Gamma]1 (2/n)  , \[Gamma]2 ->  
     Hold[n2] \[Gamma]2 (2/n) , n2 -> n/2, n1 -> n/2 } // 
  Simplify // ReleaseHold

(expr /. 
     { n1 \[Gamma]1 ->  n1tmp \[Gamma]1   , 
      n2 \[Gamma]2 ->  n2tmp  \[Gamma]2 } /. {n1 -> n/2, n2 -> n/2} //
    Simplify ) /. {n1tmp -> n1 , n2tmp -> n2}

两个都给

(A n - c n + n1 [Gamma]1 + n2 [Gamma]2)/(B + B n)

【讨论】:

  • 感谢您的回答,如果我不清楚,我很抱歉。尽管如此,我不认为这是最好的方法。因为如果我不知道最终的表达方式,就无法一概而论。例如,如果我采用表达式 A (n1 - n1^2 + n2 + 2 n1 n2 - n2^2) 我希望数学能做到: A( n1 + n2 + n1(2 n2-n1) - n2^2) = A( n1 + n2 +n1n2 - n2^2) = A(n1+n2 + n2(n1-n2)= A(n1+n2) = AN
  • 如果您无法从数学上解释您想要什么,那么您无能为力。
猜你喜欢
  • 2015-06-24
  • 2015-07-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-01-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多