如何用MATLAB的cellfun()实现元胞数组元素的contains()批量判断
用cellfun()实现元胞数组元素的字符包含判断
嘿,这事儿用cellfun()简直是量身定做!直接一行代码就能搞定,完全等价于你手动逐个判断的逻辑:
a = {'hello','world','friends'}; b = cellfun(@(x) contains(x, 'o'), a);
给你拆解下这行代码的逻辑:
cellfun()的核心作用就是批量对元胞数组的每个元素执行指定操作,省去你手动循环或者逐个索引的麻烦。- 第一个参数是匿名函数
@(x) contains(x, 'o'):这里的x代表元胞数组里的每一个元素,contains(x, 'o')就是检查当前元素是否包含字符'o',返回布尔值。 - 第二个参数就是你的目标元胞数组
a,cellfun会自动遍历a里的每一个元胞,把所有判断结果整合成一个逻辑数组返回给b。
运行之后,b的结果就是[true, true, false],和你手动写[contains(a(1),'o') contains(a(2),'o') contains(a(3),'o')]的结果完全一致!
内容的提问来源于stack exchange,提问作者fika_fika
相关产品推荐
相关产品推荐

