一、有b =[1,2,2,3,4,6],如何找到b中的2值元素位置?
几种常见的用法:
(1)find(b.==4)
(2) find(x->x==4,b)
(3) [1:length(b)][b.==4]
(4)collect(b)[b.==4]
当然,或许还有其它的表达方式.不过,从效率上看,find的效率可能没有不用find的效率高。
这个大家可能去实证。因为find实质是内置一个匿名函数,这种方式类似于闭包。
二、如何找到b 中能被2和3整除的值?
find((b%2).==0 | (b%3).==0) # 注意不是“&”, 更不是“&&”
或
find(((b%2).==0) & ( (b%3).==0)) # 建议这种方式,语义更清楚,不能用 “&&”
三、如果找到了中或被2整除或被3整除的值?
find((b%2).==0 & (b%3).==0) # 注意不是“|”,更不是“||”
或
find(((b%2).==0) | ((b%3).==0)) # 建议这种方式,语议更清楚,不能用“||”
当然二和三,完全不用find的方式去表达,方式同一。