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

王 茂南 2017年10月5日16:16:55
评论
2 1952字阅读6分30秒
摘要在这里会介绍两个在mathematica里很常用的两个用法,纯函数#1,#2与@@@的使用,大家可以好好理解一下,对简化代码有很大的帮助。

 

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

 

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

 

简单的解答

 

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

 

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

 

问题

 

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

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

 

解答

 

首先生成随机数

 

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

 

通过Subdivide来生成区间

 

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

 

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

 


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

 

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

 

完整的图片

 

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

 

完整代码

 


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

]

 

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

 

  • 微信公众号
  • 关注微信公众号
  • weinxin
  • QQ群
  • 我们的QQ群号
  • weinxin
王 茂南
  • 本文由 发表于 2017年10月5日16:16:55
  • 转载请务必保留本文链接:https://mathpretty.com/8301.html
匿名

发表评论

匿名网友 填写信息

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