mathematica中判断两个可行域是否相等1

2023-12-19 06:12:38

判断可行域A和B是否相等

1.如果不是特别复杂的话,分开Reduce[A]和Reduce[B]对结果检测是不是一致的;

示例:

Clear["Global`*"]
Reduce[0 < a && 0 < b && Max[a - 1, b - 2, 2*a - 3] == a - 1];
Reduce[0 < a && 0 < b && Max[a - 1, b - 2, 2*a - 3] == b - 2];
Reduce[0 < a && 0 < b && Max[a - 1, b - 2, 2*a - 3] == 2*a - 3];

Reduce[0 < a && 
  0 < b && (a - 1 < x <= b - 2 || b - 2 < x <= 2*a - 3), {a, b, x}]
Reduce[0 < a && 0 < b && 
  Min[a - 1, b - 2] < x <= Max[b - 2, 2*a - 3], {a, b, x}]

结果:

2.如果比较复杂的话,Reduce[A&!B]和Reduce[!A&B],如果都是False,那么说明A=B。

示例:

Clear["Global`*"]
Reduce[0 < a && 0 < b && Max[a - 1, b - 2, 2*a - 3] == a - 1];
Reduce[0 < a && 0 < b && Max[a - 1, b - 2, 2*a - 3] == b - 2];
Reduce[0 < a && 0 < b && Max[a - 1, b - 2, 2*a - 3] == 2*a - 3];

Reduce[0 < a && 
  0 < b && (a - 1 < x <= b - 2 || 
    b - 2 < x <= 2*a - 3) && ! (Min[a - 1, b - 2] < x <= 
     Max[b - 2, 2*a - 3]), {a, b, x}]
Reduce[0 < a && 
  0 < b && ! (a - 1 < x <= b - 2 || b - 2 < x <= 2*a - 3) && 
  Min[a - 1, b - 2] < x <= Max[b - 2, 2*a - 3], {a, b, x}]

结果:

文章来源:https://blog.csdn.net/zhenyancy1993/article/details/135067263
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。