文章目录(Table of Contents)
纯函数#1,#2与@@@的使用
这一篇文章我们会通过一个例子来解释一下纯函数中出现两个或多个变量的时候应该如何处理。
简单的解答
我们先给出一个简单的解答,看下面的图片
![Mathematica进阶[3]–纯函数#1,#2与@@@的使用](http://ootgubexr.bkt.clouddn.com/snipaste_20170731_115936.png?imageView2/0/q/75|watermark/2/text/5b6u5L-h5YWs5LyX5Y-3OuaWh-iJuuaVsOWtpuWQmw==/font/5a6L5L2T/fontsize/500/fill/IzIyMjEyMQ==/dissolve/100/gravity/SouthEast/dx/10/dy/10)
问题
上面已经可以看到了具体的使用方法,我们再把他放在一个例子里看一下。问题如下:
生成n个服从U(0,10)的均匀分布的数,自己划定区间,计算落入每个区间内数的个数
解答
首先生成随机数
![Mathematica进阶[3]–纯函数#1,#2与@@@的使用](http://ootgubexr.bkt.clouddn.com/snipaste_20170731_120742.png?imageView2/0/q/75|watermark/2/text/5b6u5L-h5YWs5LyX5Y-3OuaWh-iJuuaVsOWtpuWQmw==/font/5a6L5L2T/fontsize/500/fill/IzIyMjEyMQ==/dissolve/100/gravity/SouthEast/dx/10/dy/10)
通过Subdivide来生成区间
![Mathematica进阶[3]–纯函数#1,#2与@@@的使用](http://ootgubexr.bkt.clouddn.com/snipaste_20170731_120754.png?imageView2/0/q/75|watermark/2/text/5b6u5L-h5YWs5LyX5Y-3OuaWh-iJuuaVsOWtpuWQmw==/font/5a6L5L2T/fontsize/500/fill/IzIyMjEyMQ==/dissolve/100/gravity/SouthEast/dx/10/dy/10)
通过下面这段代码来统计个数,这里用到来纯函数
num = Count[data, u_ /; #2 > u > #1] & @@@ qujian
![Mathematica进阶[3]–纯函数#1,#2与@@@的使用](http://ootgubexr.bkt.clouddn.com/snipaste_20170731_120806.png?imageView2/0/q/75|watermark/2/text/5b6u5L-h5YWs5LyX5Y-3OuaWh-iJuuaVsOWtpuWQmw==/font/5a6L5L2T/fontsize/500/fill/IzIyMjEyMQ==/dissolve/100/gravity/SouthEast/dx/10/dy/10)
完整的图片
![Mathematica进阶[3]–纯函数#1,#2与@@@的使用](http://ootgubexr.bkt.clouddn.com/snipaste_20170731_120527.png?imageView2/0/q/75|watermark/2/text/5b6u5L-h5YWs5LyX5Y-3OuaWh-iJuuaVsOWtpuWQmw==/font/5a6L5L2T/fontsize/500/fill/IzIyMjEyMQ==/dissolve/100/gravity/SouthEast/dx/10/dy/10)
完整代码
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与@@@的使用](http://ootgubexr.bkt.clouddn.com/snipaste_20170731_120606.png?imageView2/0/q/75|watermark/2/text/5b6u5L-h5YWs5LyX5Y-3OuaWh-iJuuaVsOWtpuWQmw==/font/5a6L5L2T/fontsize/500/fill/IzIyMjEyMQ==/dissolve/100/gravity/SouthEast/dx/10/dy/10)
- 微信公众号
- 关注微信公众号
-
- QQ群
- 我们的QQ群号
-












评论