Wolfram Book 之集合运算

一些常见的集合运算相关的函数

判断是否是集合 list 的元素

MemberQ[{1,3,4,1,2},2]

(* 输出 True *)

子集

Subsets[{a, b, c}]

(* 输出 {{}, {a}, {b}, {c}, {a, b}, {a, c}, {b, c}, {a, b, c}} *)

并集 (⋃)

Union[{a, b, c}, {b, c, d}]

(* 输出 {a, b, c, d} *)

交集 (⋂ )

Intersection[{a, b, c}, {b, c, d}]

(* 输出 {b, c} *)

补集

Complement[{a, b, c, d, e}, {a, c}]

(* 输出 {b, d, e} *)

例 1

根据题意,可以将描述的集合转化为方程求解的问题,解方程列举出两个集合,然后再计算他们的并集。

可以得到 A={1,4,7},B={1,3,5,15},所以 M=A⋃B={1,3,4,5,7,15}。

Mathematica 代码

A = x /. Solve[{x == 10 – 3 k, k > 0, x > 0}, {x, k}, Integers]

B = y /. Solve[{y == 15/x, x > 0, y > 0}, {x, y}, Integers]

A ⋃ B

 

例 2

Mathematica 代码

Reduce[ForAll[x,Equivalent[(x==m^2||x==m+1||x==-3)&&(x==m-3||x==2 m-1||x==m^2+1),x==-3]],m,Reals]

可视化交集、并集

With[{c1 = Disk[{0, 0}, 1], c2 = Disk[{1, 0}, 1]},

{

Show[Graphics[{LightBlue, c1, c2}, PlotLabel -> “ 交集”],

RegionPlot[RegionIntersection[c1, c2]]],

 

Show[Graphics[{}, PlotLabel -> “ 并集”],

RegionPlot[RegionUnion[c1, c2]]],

 

Show[Graphics[{LightBlue, c1, c2}, PlotLabel -> “ 差集”],

RegionPlot[RegionDifference[c1, c2]]]

}

]

 

发布者:Cara,转载请注明出处:http://www.makercollider.com/course/2402

发表评论

登录后才能评论
QR code