關於純函數#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
  ]

以上,所有

2017 / 08 / 02

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章