MATLAB如何判断元素是否存在于数组或表格?
来源:网络收集 点击: 时间:2025-02-20对于两个列表A,B,使用ismember函数返回一个与A尺寸相同的逻辑值列表。
其中逻辑0表示A中该元素在B中不存在,逻辑1表示A中该元素在B中存在。

ismember可以有两个返回值,其中第一个列表是A中元素在B中是否存在的逻辑列表,第二个是A中元素在B中的位置列表。

ismember还可以带有第三个参数rows,带有该参数后,会将A,B的每行视作整体。

ismember带有参数rows的同时,也可以有两个返回值,如图。

ismember也可以用于table表格,如图所示,会将表格中的每行视作整体。


下面我们讨论ismembertol函数的意义。我们使用tan(x).*cos(x)和sin(x)两种方式计算一些三角函数值。结果相比较有10^-15量级的运算误差。

如果我们使用ismember函数,Y1中不严格相等的项会认为不存在于Y2.
但是如果使用ismembertol函数,一定的误差是可以容忍的。

ismembertol也可以有两个返回值。ismembertol第三个参数为数字时,表示容差大小。

ismembertol也可以按照行比较,使用两个参数ByRows, true。
(ismember仅需要一个参数rows即可)

ismembertol可以输出重复元素的所有下标,使用两个参数OutputAllIndices,true控制。

ismembertol可以控制相对误差因子,因为误差判定是abs(u-v)误差*DataScale。默认DataScale随数据大小变化,如果指定为常数1就是绝对误差。

这些函数可能有legacy选项,由于不常用在此不做介绍。
MATLAB版权声明:
1、本文系转载,版权归原作者所有,旨在传递信息,不代表看本站的观点和立场。
2、本站仅提供信息发布平台,不承担相关法律责任。
3、若侵犯您的版权或隐私,请联系本站管理员删除。
4、文章链接:http://www.1haoku.cn/art_1245195.html