ismembertol
组的成员在公差内
语法
描述
例子
集成员的数值误差
创建一个向量x
。获得第二个向量y
通过改变和untransformingx
。这个变换引入了舍入的差异y
。
x =(1:6) *π;y = 10 ^ log10 (x);
验证x
和y
不相同的区别。
x - y
ans =6×110-14年-0.3553×0.0444 0 0 0 0
使用ismember
找到的元素x
在y
。的ismember
函数执行的比较和确定一些矩阵的元素x
不是成员y
。
lia = ismember (x, y)
lia =6 x1逻辑阵列0 1 1 1 1 0
使用ismembertol
执行使用一个小的比较宽容。ismembertol
将元素在宽容作为平等和确定所有的元素x
成员的y
。
LIA = ismembertol (x, y)
LIA =6 x1逻辑阵列1 1 1 1 1 1
确定设置成员行
默认情况下,ismembertol
查找元素内宽容,但也能找到行一个矩阵的公差范围内。
创建一个数字矩阵,一个
。获得第二个矩阵,B
通过改造和untransforming一个
。这个变换引入了舍入的差异B
。
(0.05 - 0.11 = 0.18;0.18 0.21 0.29;0.34 0.36 0.41;…0.46 0.52 0.76;0.82 0.91 1.00);B = log10 (10 ^);
使用ismember
找到的行一个
在B
。ismember
执行精确的比较,从而确定大部分的行一个
不是成员B
,尽管一些相差只有少量的行。
lia = ismember (A, B,“行”)
lia =5 x1逻辑阵列0 0 0 0 1
使用ismembertol
使用小公差执行行比较。ismembertol
对待行内公差作为平等,从而确定所有的行一个
成员的B
。
LIA = ismembertol (A, B,“ByRows”,真正的)
LIA =5 x1逻辑阵列1 1 1 1 1
平均相似值向量
创建两个向量的随机数和确定哪些值一个
也的成员B
用宽容。指定OutputAllIndices
作为真正的
返回所有的元素的索引B
在宽容中相应的元素一个
。
rng (5) A =兰德(15);B =兰德(1、5);[LIA, LocAllB] = ismembertol (A, B, 0.2,“OutputAllIndices”,真正的)
LIA =1连接逻辑阵列1 0 1 0 1 1 1 1 1 1 0 1 1 1 0
LocAllB =1×15单元阵列列1到5 {2 x1双}{[0]}{2 x1双}{[0]}{3 x1双}列6到10 {2 x1双}{[4]}{3 x1双}{3 x1双}{2 x1双}列11到15 {[0]}{2 x1双}{4 x1双}{2 x1双}{[0]}
发现元素的平均值B
在宽容的价值(13)
。细胞LocAllB {13}
包含了所有元素的索引B
公差范围内(13)
。
(13)
ans = 0.4413
allB = B (LocAllB {13})
allB =1×40.2741 0.4142 0.2961 0.5798
aveB =意味着(allB)
aveB = 0.3911
指定绝对宽容
默认情况下,ismembertol
使用一个表单的耐量试验abs (uv) < = tol * DS
,在那里DS
根据输入数据的大小自动缩放。您可以指定一个不同的DS
使用价值DataScale
选择。然而,绝对的公差(DS
是一个标量)不根据输入数据的大小规模。
首先,比较两个值,一个距离每股收益
分开。指定托尔
和DS
在宽容方程abs (uv) < = 10 ^ 6
。
x = 0.1;ismembertol (x, exp(日志(x)), 10 ^ 6,“DataScale”,1)
ans =逻辑1
接下来,增加的幅度值。舍入误差的计算exp(日志(x))
值的大小成正比,特别是每股收益(x)
。尽管两大值的距离每股收益
从一个另一个每股收益(x)
现在大得多。因此,10 ^ 6
不再是一个合适的公差。
x = 10 ^ 10;ismembertol (x, exp(日志(x)), 10 ^ 6,“DataScale”,1)
ans =逻辑0
纠正这个问题通过使用默认(比例)的价值DS
。
Y = 10 ^ [0.1];ismembertol (Y, exp(日志(Y)))
ans =1 x2逻辑阵列1
通过列指定DataScale
创建一组随机二维点,然后使用ismembertol
组的点到垂直的乐队有类似(within-tolerance)坐标一个小套查询点,B
。使用这些选项ismembertol
:
指定
ByRows
作为真正的
,因为点坐标的行一个
和B
。指定
OutputAllIndices
作为真正的
返回所有点的指数一个
有在公差查询的点坐标B
。DataScale指定为
(1正)
使用绝对坐标的宽容,而忽略了坐标。
一个=兰德(1000 2);B = [(0: .2:1)”, 0.5 * 1 (6,1)];[LIA, LocAllB] = ismembertol (B, A, 0.1,“ByRows”,真的,…“OutputAllIndices”,真的,“DataScale”(1正))
LIA =6 x1逻辑阵列1 1 1 1 1 1
LocAllB =6×1单元阵列{94 x1双}{223 x1双}{195 x1双}{212 x1双}{187 x1双}{89 x1双}
画出点一个
在每个查询点公差B
。
持有在情节(B (: 1)、B (:, 2),“x”)为k = 1:长度(LocAllB)图(一个(LocAllB {k}, 1),一个(LocAllB {k}, 2),“。”)结束
输入参数
一个
- - - - - -查询数组
标量|向量|矩阵|多维数组
查询数组,指定为一个标量、向量矩阵,或多维数组。输入一个
和B
必须完整。
如果你指定ByRows
选项,然后一个
和B
必须有相同数量的列。
数据类型:单
|双
B
- - - - - -查询数组
标量|向量|矩阵|多维数组
查询数组,指定为一个标量、向量矩阵,或多维数组。输入一个
和B
必须完整。
如果你指定ByRows
选项,然后一个
和B
必须有相同数量的列。
数据类型:单
|双
托尔
- - - - - -比较宽容
积极的真正的标量
比较宽容,指定为一个积极的真正的标量。ismembertol
尺度的托尔
输入使用的最大绝对值在输入数组一个
和B
。然后ismembertol
使用结果比较宽容,以确定哪些元素一个
也是的一员吗B
。如果两个元素是在宽容彼此,ismembertol
认为他们是平等的。
两个值,u
和v
,在宽容abs (uv) < = tol *马克斯(abs (((:); B (:))))
。
指定一个绝对的宽容,同时指定托尔
和“DataScale”
名称-值对。
例子:托尔= 0.05
例子:托尔= 1 e-8
例子:托尔=每股收益
数据类型:单
|双
名称-值参数
指定可选的双参数作为Name1 = Value1,…,以=家
,在那里的名字
参数名称和吗价值
相应的价值。名称-值参数必须出现在其他参数,但对的顺序无关紧要。
R2021a之前,用逗号来分隔每一个名称和值,并附上的名字
在报价。
例子:LIA = ismembertol (A, B, ByRows,真的)
OutputAllIndices
- - - - - -产出指数类型
假
(默认)|真正的
|0
|1
产出指数类型,指定为逗号分隔组成的“OutputAllIndices”
,要么假
(默认),真正的
,0
,或1
。ismembertol
解释数字0
作为假
和数字1
作为真正的
。
当OutputAllIndices
是真正的
,ismembertol
函数返回第二个输出,LocB
单元阵列。细胞数组包含的指标所有元素B
内相应的公差值一个
。也就是说,每一个细胞LocB
对应于一个值一个
,每个单元格中的值对应的位置B
。
例子:[LIA, LocAllB] = ismembertol (A, B,托尔,“OutputAllIndices”,真的)
ByRows
- - - - - -行比较切换
假
(默认)|真正的
|0
|1
行比较切换,指定为逗号分隔组成的“ByRows”
,要么假
(默认),真正的
,0
,或1
。ismembertol
解释数字0
作为假
和数字1
作为真正的
。使用这个选项找到行一个
和B
都在公差之内。
当ByRows
是真正的
:
ismembertol
比较的行一个
和B
通过考虑每一列分别。因此,一个
和B
必须具有相同数量的列的二维数组。如果相应的行
一个
在宽容的行吗B
,然后投资局
包含逻辑1
(真正的
)。否则,它包含逻辑0
(假
)。
两行,u
和v
,在宽容所有(abs (uv) < = tol *马克斯(abs ([A, B])))
。
例子:LIA = ismembertol (A, B,托尔,“ByRows”,真的)
DataScale
- - - - - -规模的数据
标量|向量
规模的数据,指定为逗号分隔组成的“DataScale”
和一个标量或矢量。指定DataScale
作为一个数字标量,DS
,改变耐量试验,abs (uv) < = tol * DS
。
当一起使用ByRows
选项时,DataScale
值也可以是一个向量。在这种情况下,每个元素的向量指定DS
相应的列一个
。如果一个值DataScale
向量是正
,然后ismembertol
忽略了相应的列一个
。
例子:LIA = ismembertol (A, B, DataScale, 1)
例子:[LIA, LocB] = ismembertol (A, B, ByRows,真的,“DataScale”, [eps(1)每股收益(10)每股收益(100)))
数据类型:单
|双
输出参数
投资局
-逻辑索引一个
向量|矩阵
逻辑索引一个
,返回一个包含逻辑向量或矩阵1
(真正的
)无论元素(或行)一个
成员的B
(在公差内)。在其他地方,投资局
包含逻辑0
(假
)。
投资局
一样的尺寸吗一个
,除非你指定ByRows
选择。在这种情况下,投资局
是一个列向量与相同数量的行吗一个
。
LocB
,地点在B
矩阵向量| |单元阵列
地点在B
,返回为一个向量,矩阵,或细胞数组。LocB
包含指数的元素(或行)B
中发现的一个
(在公差内)。LocB
包含0
无论一个元素在一个
不是成员B
。
如果OutputAllIndices
是真正的
,然后ismembertol
返回LocB
作为一个单元阵列。细胞数组包含的指标所有元素B
内相应的公差值一个
。也就是说,每一个细胞LocB
对应于一个值一个
,每个单元格中的值对应的位置B
。
LocB
一样的尺寸吗一个
,除非你指定ByRows
选择。在这种情况下,LocB
是一个列向量与相同数量的行吗一个
。
扩展功能
线程环境
在后台运行代码使用MATLAB®backgroundPool
与并行计算工具箱™或加速代码ThreadPool
。
这个函数完全支持线程的环境。金宝app有关更多信息,请参见MATLAB函数线程环境中运行。
GPU数组
加速代码运行在一个图形处理单元(GPU)使用并行计算工具箱™。
使用笔记和限制:
的
“ByRows”
和“OutputAllIndices”
不支持的参数。金宝app不支持64位的整数。金宝app
有关更多信息,请参见运行在GPU MATLAB函数(并行计算工具箱)。
版本历史
介绍了R2015a
Apri esempio
如果dispone di una versione modificata di questo esempio。Desideri aprire questo esempio con le modifiche星期二吗?
第一MATLAB
海脂肪clic苏联合国collegamento切corrisponde questo第一MATLAB:
Esegui il第一inserendolo所以nella隙缝di第一MATLAB。我浏览器web非supportano金宝app comandi MATLAB。
你也可以从下面的列表中选择一个网站:
表现最好的网站怎么走吗
选择中国网站(中文或英文)最佳站点的性能。其他MathWorks国家网站不优化的访问你的位置。