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

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

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

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

 

简单的解答

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

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

 

纯函数使用分析

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

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

 

解答

首先生成随机数:

  1. data = RandomReal[{min, max}, num]

通过 Subdivide 来生成区间

  1. cash1 = Subdivide[min, max, xi];

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

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

下面是完整的代码:

  1. count[min_, max_, num_, xi_] := Module[{data, cash1, cash2, qujian},
  2. data = RandomReal[{min, max}, num];
  3. cash1 = Subdivide[min, max, xi];
  4. cash2 = RotateLeft[cash1][[;; -2]];
  5. cash1 = cash1[[;; -2]];
  6. qujian = Transpose[{cash1, cash2}];
  7. Count[data, u_ /; #2 > u > #1] & @@@ qujian

  • 微信公众号
  • 关注微信公众号
  • 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: