Wolfram mathematica 在Mathematica 7中对不等式进行简单的填充,然后重新排列它们

Wolfram mathematica 在Mathematica 7中对不等式进行简单的填充,然后重新排列它们,wolfram-mathematica,mathematical-expressions,Wolfram Mathematica,Mathematical Expressions,我在笔记本电脑界面中使用Mathematica 7,我想重新排列一个不等式,以便在一侧得到某个变量。例如 FullSimplify[x^3+L+r>3x^3+2r] 给予 不过,我想: r < L-2x^3 编辑:以下是实际表达式: {L - (m^2 ((-2 + e)^2 \[Delta] + (5 + 2 e (-7 + 4 e)) \[Tau]) \[Omega])/(36 (2 - 3 e + e^2)^2)} > {0} In[4]:=Simpli

我在笔记本电脑界面中使用Mathematica 7,我想重新排列一个不等式,以便在一侧得到某个变量。例如

FullSimplify[x^3+L+r>3x^3+2r]
给予

不过,我想:

r < L-2x^3

编辑:以下是实际表达式:

{L - (m^2 ((-2 + e)^2 \[Delta] + (5 + 
     2 e (-7 + 4 e)) \[Tau]) \[Omega])/(36 (2 - 3 e + e^2)^2)} > {0}
In[4]:=Simplify[LogicalExpand[Reduce[<expression>, Delta, Reals]]][[-6;;]] //
       Simplify // #[[2,1,2]]&
Out[4]:= Delta < something
我希望它以
\[delta]<*something*
谢谢

由于我不使用Mathematica进行编辑或演示,也许其他人会提供一些额外的建议

编辑

根据您的评论,您可以尝试:

Reduce[{L - (m^2 ((-2 + e)^2 Delta + (5 + 
        2 e (-7 + 4 e)) Tau) Omega)/(36 (2 - 3 e + e^2)^2) > 0}, Delta, Reals]  
我纠正了一些语法错误。但是你会发现结果的表达是相当令人不快的。为了进一步简化,您需要知道变量的有效范围。如果你有这个信息,请把它贴出来。

首先,让Mathematica输出你想要的东西是一门黑色艺术,需要很多耐心。也就是说,如果您将
Reduce
应用于原始表达式,则

In[1]:=Reduce[x^3 + L + r > 3 x^3 + 2 r, r, Reals]
Out[1]:= r < L - 2 x^3
虽然这并不能给你一个清晰的答案,但它比以前更好了,并揭示了解决方案的更多结构。(我不会使用
FullSimplify
,因为它将
Delta
与其他术语混合在一起。)在这一点上,我们需要更多地了解术语本身,而[2]中
的输出并没有我们想要的那么有用

我将用
LogicalExpand
对其进行重新扩展,它给出了12个术语,比
Reduce
单独给出的术语要简单得多。(您会注意到,只有最后六个术语实际涉及到
Delta
,因此我会检查变量条件是否与这些术语匹配。)仅选择最后六个术语

In[3]:=%2[[-6;;]] // Simplify
Out[3]:= m != 0 
       && ((Omega > 0 && Delta < something) || (Omega > 0 && Delta < something else)
       && (1 < e < 2 || e < 1 || e > 2)

在写下这些之后,我意识到有一种更简单的方法来实现这一点。我将重做上面的第2行,如下所示:

In[5]:= Reduce[ <full expression>, Delta, Reals] // LogicalExpand // Simplify //
       Cases[#, ___ && Delta < _ && ___, Infinity]&
Out[5]:= {Omega > 0 && Delta < something}

检查机器的输出

r=Simplify[Reduce[L-(m^2((-2+e)^2\\[Delta]+(5+2e(-7+4e))\\[Tau])\\[Omega])/(36(2-3e+e^2)^2)>0,\\[Delta],Reals]]  
看到这一点

r[[2,1,1,1]] gives \\[Delta]>expr, 
但是

r[[2,1,2,2]]给出\\[Delta]

因为\[Omega]的符号是expr的分母。所有这些都忽略了L、e、m和\[Omega]值上会改变结果的其他条件,不同版本的Mathematica可能会改变Simplify[Reduce[]的结果形式,这将使所有这些都无效。

减少Reduce[]和LogicalExpand[]返回的表达式的部分困难当e=1或=2时,所提供的表达式包含零除

我买了一些可以忍受的紧凑型的东西

Assuming[{ (L | m | e | Tau | Omega | Delta) \[Element] Reals }, FullSimplify[ LogicalExpand[ Reduce[{L - (m^2 ((-2 + e)^2 Delta + (5 + 2 e (-7 + 4 e)) Tau) Omega)/(36 (2 - 3 e + e^2)^2) > 0}, Delta, Reals] ] ] ] Out[]:= (L > 0 && (1 < e < 2 || e < 1 || e > 2) && (m == 0 || Omega == 0)) || (m != 0 && ( (Omega > 0 && Delta < (36 (-1 + e)^2 L)/(m^2 Omega) + ((-5 + 2 (7 - 4 e) e) Tau)/(-2 + e)^2) || (Delta > (36 (-1 + e)^2 L)/(m^2 Omega) + ((-5 + 2 (7 - 4 e) e) Tau)/(-2 + e)^2 && Omega < 0)) && (e > 2 || e < 1 || 1 < e < 2)) 假定[{ (L | m | e | Tau | Omega | Delta)\[元素]Reals }, 完全简化[ 逻辑插件[ 减少[{L-(m^2(-2+e)^2δ+(5+ 2e(-7+4e))Tau)Omega)/(36(2-3e+e2)^2)> 0},Delta,Reals] ] ] ] 输出[]:=(L>0&(12)和&(m==0 |ω==0))| (m!=0&&( (ω>0&& δ<(36(-1+e)^2 L)/(m^2ω)+(-5+2(7-4 e)e)Tau)/(-2+e)^2)| (Delta>(36(-1+e)^2l)/(m^2omega)+(-5+2(7-4e)e)Tau)/(-2+e)^2&& ω<0)和 (e>2 | | e<1 | | 1
(为什么要假设[…]?因为我太懒了,不记得把同样的假设塞进每个简化步骤。)

这是一个有效的数学问题。发布后请不要投票关闭您的编辑。请发布您的实际表达式编辑:以下是实际表达式:{L-(m^2(-2+e)^2[Delta]+(5+2E(-7+4E))[Tau][Omega]/(36(2-3E+e^2)^2)}>{0}我希望以[Delta]<感谢@用户491410您知道L、e、Delta、Tau、Omega的符号吗?+1表示“此时需要耐心和大量额外处理。”。真的是这样。@belisarius,这一次很容易;我可以浪费一个上午的时间重新格式化一个表达式,让它看起来像我想要的样子。我个人最喜欢的是将
I
替换为
q
Complex[a,b]:>a+qb
),这样我就可以在上面使用
Collect
。有时候,这是获得合理结果的唯一途径。从未尝试过!但是在与经验[I phi]的混战中损失了很多时间,包括扩展、收集、扩展、简化。。。我想我们都知道这种感觉。@belisarius,这种变化背后的基本原理是,虽然Mathematica知道如何处理复数,但它通常会以一种难以处理的方式对事物进行分组。而且,通过将实数和虚数结合在一起,很难提取出任何有意义的东西。所以,我们替换了一些它对如何操纵它没有附加概念的东西,瞧,我们已经恢复了某种程度的控制。
In[5]:= Reduce[ <full expression>, Delta, Reals] // LogicalExpand // Simplify //
       Cases[#, ___ && Delta < _ && ___, Infinity]&
Out[5]:= {Omega > 0 && Delta < something}
In[6]:= Reduce[ <expr> && m!=0 && Omega > 0, Delta, Reals ] // LogicalExpand // 
        Simplify // #[[2]]&
r=Simplify[Reduce[L-(m^2((-2+e)^2\\[Delta]+(5+2e(-7+4e))\\[Tau])\\[Omega])/(36(2-3e+e^2)^2)>0,\\[Delta],Reals]]  
r[[2,1,1,1]] gives \\[Delta]>expr, 
r[[2, 1, 2, 2]] gives \\[Delta]< expr, 
Assuming[{ (L | m | e | Tau | Omega | Delta) \[Element] Reals }, FullSimplify[ LogicalExpand[ Reduce[{L - (m^2 ((-2 + e)^2 Delta + (5 + 2 e (-7 + 4 e)) Tau) Omega)/(36 (2 - 3 e + e^2)^2) > 0}, Delta, Reals] ] ] ] Out[]:= (L > 0 && (1 < e < 2 || e < 1 || e > 2) && (m == 0 || Omega == 0)) || (m != 0 && ( (Omega > 0 && Delta < (36 (-1 + e)^2 L)/(m^2 Omega) + ((-5 + 2 (7 - 4 e) e) Tau)/(-2 + e)^2) || (Delta > (36 (-1 + e)^2 L)/(m^2 Omega) + ((-5 + 2 (7 - 4 e) e) Tau)/(-2 + e)^2 && Omega < 0)) && (e > 2 || e < 1 || 1 < e < 2))