作业帮 > 综合 > 作业

Mathematica 如何取出匹配的元素?

来源:学生作业帮 编辑:拍题作业网作业帮 分类:综合作业 时间:2024/05/18 20:02:34
Mathematica 如何取出匹配的元素?
如何取出匹配的元素?
例如; 取出与s2匹配的元素
输入:s1={{a->x,b->y,c->y,d->x,e->z,e->z,g->z,h->w}};
s2={x,w};
输出 s3={a,d,h}
以及任意多层表的元素取出,例如
输入:s1={{a->x,b->y,c->y},{d->x,e->z,e->z,g->z,h->w}}};
s2={x,w};
输出 s3={{a},{d,h}}
s1 = {{a -> x, b -> y, c -> y, d -> x, e -> z, e -> z, g -> z, h -> w}};
s2 = {x, w};
s3 = s1 /. Rule[a_, b_] /; MemberQ[s2, b] :> a /. Rule[a_, b_] -> Sequence[]
==> {{a, d, h}}
s4 = {{a -> x, b -> y, c -> y}, {d -> x, e -> z, e -> z, g -> z, h -> w}};
s5 = {x, w};
s6 = s4 /. Rule[a_, b_] /; MemberQ[s5, b] :> a /. Rule[a_, b_] -> Sequence[]
==> {{a}, {d, h}}