Mathematica进阶[3]–纯函数#1,#2与@@@的使用

  • A+
所属分类:Wolfram语言进阶
摘要在这里会介绍两个在mathematica里很常用的两个用法,纯函数#1,#2与@@@的使用,大家可以好好理解一下,对简化代码有很大的帮助。

 

纯函数#1,#2与@@@的使用

 

这一篇文章我们会通过一个例子来解释一下纯函数中出现两个或多个变量的时候应该如何处理。

 

简单的解答

 

我们先给出一个简单的解答,看下面的图片

 

 

问题

 

上面已经可以看到了具体的使用方法,我们再把他放在一个例子里看一下。问题如下:

生成n个服从U(0,10)的均匀分布的数,自己划定区间,计算落入每个区间内数的个数

 

解答

 

首先生成随机数

 

 

通过Subdivide来生成区间

 

 

通过下面这段代码来统计个数,这里用到来纯函数

 


num = Count[data, u_ /; #2 > u > #1] & @@@ qujian

 

 

完整的图片

 

 

完整代码

 


count[min_, max_, num_, xi_] := Module[{data, cash1, cash2, qujian},

data = RandomReal[{min, max}, num];

cash1 = Subdivide[min, max, xi];

cash2 = RotateLeft[cash1][[;; -2]];

cash1 = cash1[[;; -2]];

qujian = Transpose[{cash1, cash2}];

Count[data, u_ /; #2 > u > #1] & @@@ qujian

]

 

 

  • 微信公众号
  • 关注微信公众号
  • weinxin
  • QQ群
  • 我们的QQ群号
  • weinxin
王 茂南

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: