我想在Mma中执行以下操作。假设我有三个表达式,x1, 3 x1-x2, x2-x1
其中0<=x1,x2<=1
)。我想要另一个指定三者中最大的一个至少是最小的两倍。所以三者在顺序方面有一些排列:
x1<=3 x1-x2<=x2-x1 && 2 x1<=x2-x1
3 x1-x2<=x1<=x2-x1 && 2 (3 x1-x2)<=x2-x1
.... 其余4个相似的条件。
如何自动形成这些条件(与0<=x1,x2<=1
一起),然后将它们逐个导入Reduce,并根据x1求解x2?
非常感谢!
答案 0 :(得分:3)
eqs = {x1, 3 x1 - x2, x2 - x1};
Reduce[Max[eqs] >= 2 Min[eqs], {x1, x2}, Reals]
如果你想与第二大或第三大/最小的比较,那么可以使用RankedMax
至于为x2求解它 - x2
对应于每个x1
有许多不同的值,所以你不能在传统意义上解决它,你可以从{{{ 1}}
RegionPlot
答案 1 :(得分:0)
使用Max
和Min
并在变量列表中指定x2
之前的x1
,如下所示
In[1]:= Reduce[
Max[x1, 3 x1 - x2, x2 - x1] >= 2 Min[x1, 3 x1 - x2, x2 - x1] &&
0 <= x1 && x2 <= 1,
{x2, x1}]