小弟正在讀一段MATHEMATICA的CODE 想改寫到MATLAB
因為對MMA不熟 所以之後想用MATLAB處理這個問題4
其中有段CODE
Position[{{1}, {4}, {6}, {6}, {7}, {10}}, _?(Intersection[{4,
6}, #] != {} &), {1}, Heads->False]
OUTPUT結果是
{{2}, {3}, {4}}
這段CODE只是想比較兩個集合 並給出兩者交集的元素在第一個集合的位置
想請問的是 _?(Intersection[{4,6}, #] != {} &), {1}
這段CODE的作用為何呢 特別是 _? 以及 最後的 & 分別想扮演的角色
感謝
作者:
LPH66 (-6.2598534e+18f)
2014-12-29 07:51:00簡答: 這是以函數為條件的 Pattern如果只是想知道它在做什麼的話, (...&) 那一段中間的 ...是一個純函式, 此 Pattern 即為代入此函式得 True 的所有值而 Position 即是找出所有符合後者 Pattern 的元素位置純函式可看 #1EiPGgzs, 簡而言之 # 是參數之所以這是簡答是因為 Pattern 是 Mathematica 運算的核心要詳解大概要好幾篇文....