Mathematica里面的*Thread类函数

时间:2024-10-13 01:05:11

1、Thread[f[{a,b,c}]]将f作用到列表的每一个元素里面,形成新的列表。这代码还可以写成:f/@{a,b,c},其中/@是Map的意思,就是把f作用于列表里面第一层的每一个元素。

Mathematica里面的*Thread类函数

2、如果两个列表对应的元素相等,那么就可以转化为方程的列表:Thread[{a+b,b+c,c+a}=={5,6,7}]

Mathematica里面的*Thread类函数

3、对列表里面的元素进行平方运算:(#^2&)/@{a,b,c}还可以简单的写成:{a,b,c}^2

Mathematica里面的*Thread类函数

4、如果列表有两层,看看Thread和Map会有什么作用:thread[f[{{a,b,c,d},{p,q,r,s}}]]f/@{{a荑樊综鲶,b,c,d},{p,q,r,s}}从运行的结果,可以看出来,f只能作用于列表的第一层。

Mathematica里面的*Thread类函数

5、MapThread[f,{{a,b,c,d},{p,q,r,s}}]的作用如下:

Mathematica里面的*Thread类函数

6、MapThread后面的列表,需要对应的元素数目相同。否则:MapThread[f,{{a,b,c,d},{p,q,r,s,t}}]结果Mathematica报错。

Mathematica里面的*Thread类函数

7、AssociationThread[{a,b,c,d}->{p,q,r,s}]创建一个关联线程:

Mathematica里面的*Thread类函数

8、f@@{a,b巳呀屋饔,c,d},相当于用Apply来构造一个多元函数:Apply[f,{{a,b,c,d},{p,q,r,s,t}}]Apply[f,{{a,b,c,d}}]Apply[f,{锾攒揉敫a,b,c,d}]

Mathematica里面的*Thread类函数

9、MapAll的作用,需要你自己去体会:MapAll[f,{{a,b,c,d},{p,q,r,s,t}魈胺闹臣}]MapAll[f,{{a,b,c,d}}]MapAll[f,{a,b,c,d}]f//@{a,b,c,d}

Mathematica里面的*Thread类函数
© 手抄报圈