Mathematica 如何列出相同元素的位置表?如何列出相同元素的位置表?例如::输入:s1={a,a,a,b,b,c,e,h,e,b};s2={a,e,b};输出:s3={{1,2,3},{7,9},{4,5,10}}因为:a在s1中的位置是{1,2,3},e在s1中的位置是{7,9},b在s1中的位

来源:学生作业帮助网 编辑:六六作业网 时间:2024/12/20 16:15:46
Mathematica如何列出相同元素的位置表?如何列出相同元素的位置表?例如::输入:s1={a,a,a,b,b,c,e,h,e,b};s2={a,e,b};输出:s3={{1,2,3},{7,9}

Mathematica 如何列出相同元素的位置表?如何列出相同元素的位置表?例如::输入:s1={a,a,a,b,b,c,e,h,e,b};s2={a,e,b};输出:s3={{1,2,3},{7,9},{4,5,10}}因为:a在s1中的位置是{1,2,3},e在s1中的位置是{7,9},b在s1中的位
Mathematica 如何列出相同元素的位置表?
如何列出相同元素的位置表?
例如:
:输入:s1={a,a,a,b,b,c,e,h,e,b};
s2={a,e,b};
输出:s3={{1,2,3},{7,9},{4,5,10}}
因为:a在s1中的位置是{1,2,3},e在s1中的位置是{7,9},b在s1中的位置是{4,5,10},
因此:s3={{1,2,3},{7,9},{4,5,10}},

Mathematica 如何列出相同元素的位置表?如何列出相同元素的位置表?例如::输入:s1={a,a,a,b,b,c,e,h,e,b};s2={a,e,b};输出:s3={{1,2,3},{7,9},{4,5,10}}因为:a在s1中的位置是{1,2,3},e在s1中的位置是{7,9},b在s1中的位
自带函数里没有这个功能,不过可以下面一个语句实现:
Map[Flatten[Position[s1,#]] &,s2]
详细说明:
Position[s1,a] 给出 {{1},{2},{3}} 与你要的格式不同,经过 Flatten 以后变成 {1,2,3},写成函数的形式为 Flatten[Position[s1,#]] &,利用 Map 作用于 s2 的每一个元素上.