uniquetol
惟一的值在公差
语法
描述
例子
独特的元素数值误差的存在
创建一个向量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
使用独特的
寻找独特的元素连接向量(x, y)
。的独特的
函数执行的比较和确定一些值x
并不完全等于值y
。这些相同的元素有一个非零的差异x - y
。因此,c
包含值出现是重复的。
c =独特((x, y))
c =8×13.1416 3.1416 6.2832 9.4248 12.5664 15.7080 18.8496 18.8496
使用uniquetol
执行使用一个小的比较宽容。uniquetol
将公差内的元素视为相等。
C = uniquetol ((x, y))
C =6×13.1416 6.2832 9.4248 12.5664 15.7080 18.8496
确定独特的行
默认情况下,uniquetol
寻找独特的元素公差内,但它也可以找到独特的行一个矩阵的公差范围内。
创建一个数字矩阵,一个
。获得第二个矩阵,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);B = log10 (10 ^);
使用独特的
找到独特的行一个
和B
。的独特的
函数执行的比较和确定所有的连接矩阵中的行[A, B]
是独一无二的,尽管一些相差只有少量的行。
独特的([A, B],“行”)
ans =8×30.0500 0.1100 0.1800 0.0500 0.1100 0.1800 0.1800 0.2100 0.2900 0.1800 0.2100 0.2900 0.3400 0.3600 0.4100 0.3400 0.3600 0.4100 0.4600 0.5200 0.7600 0.4600 0.5200 0.7600
使用uniquetol
寻找独特的行。uniquetol
在宽容作为平等对待行。
uniquetol ([A, B],“ByRows”,真正的)
ans =4×30.0500 0.1100 0.1800 0.1800 0.2100 0.2900 0.3400 0.3600 0.4100 0.4600 0.5200 0.7600
向量准备的比较
创建一个向量,x
。获得第二个向量,y
通过改造和untransformingx
。这个变换引入了舍入不同元素y
。
x =(1:5) *π;y = 10 ^ log10 (x);
结合x
和y
为一个向量,一个
。使用uniquetol
重建一个
公差内,将值相等。
= (x, y)
一个=10×13.1416 6.2832 9.4248 12.5664 15.7080 3.1416 6.2832 9.4248 12.5664 15.7080
[C IA IC] = uniquetol(一个);newA = C(集成电路)
newA =10×13.1416 6.2832 9.4248 12.5664 15.7080 3.1416 6.2832 9.4248 12.5664 15.7080
您可以使用newA
与= =
或函数,使用完全平等isequal
或独特的
在随后的代码。
D1 =独特(A)
D1 =6×13.1416 3.1416 6.2832 9.4248 12.5664 15.7080
D2 =独特(newA)
D2 =5×13.1416 6.2832 9.4248 12.5664 15.7080
控制选择独特的价值观
使用发生
选项来控制哪些元素uniquetol
选择是独一无二的。
创建一个向量和找到公差内的哪些元素是独一无二的1 e 1
。
一个= [1 1.1 1.11 1.12 1.13 2];c = uniquetol (a, 1 e 1)
c =1×21 2
因为前五个元素一个
都有相似的价值观的宽容1 e 1
选择,只有它们之间的最小值是唯一的。这是因为uniquetol
价值最低的开始一个
没有发现一个新元素并不是在宽容,直到2
的向量。
使用“最高”
选项来指定uniquetol
和最高的价值应该开始吗一个
。现在,1.13
元素被选中作为独特的自uniquetol
作品从最高的价值。
d = uniquetol (, 1 e 1,“最高”)
d =1×21.1300 - 2.0000
使用大公差数据子集
创建一个云的二维采样点限制在一个圆的半径0.5
集中在点
。
x =兰德(10000 2);insideCircle =√(x(: 1)闲置)^ 2 + (x(:, 2)闲置)^ 2)< 0.5;y = x (insideCircle:);
找到一个减少点集,这样每个点的原始数据集是在宽容点。
托尔= 0.05;C = uniquetol (y,托尔,“ByRows”,真正的);
情节的设置点上红点的原始数据集。红点是原始数据集的所有成员。所有的红点都至少有一段距离托尔
分开。
情节(y (: 1), y (:, 2),“。”)举行在轴平等的情节(C (: 1), C (:, 2),“r”,“MarkerSize”,10)
平均相似值向量
创建一个向量随机数和确定不同的元素使用公差。指定OutputAllIndices
作为真正的
返回的所有指标的公差内的元素独特的价值观。
一个=兰德(100 1);[C IA] = uniquetol(1飞行,“OutputAllIndices”,真正的);
发现元素的平均值,在宽容的价值C (2)
。
C (2)
ans = 0.0318
真主安拉= (IA {2})
真主安拉=3×10.0357 0.0318 0.0344
aveA =意味着(真主安拉)
aveA = 0.0340
指定绝对宽容
默认情况下,uniquetol
使用一个表单的耐量试验abs (uv) < = tol * DS
,在那里DS
自动尺度基于输入数据的大小。您可以指定一个不同的DS
使用价值DataScale
选择。然而,绝对的公差(DS
是一个标量)不根据输入数据的大小规模。
首先,比较两个值,一个距离每股收益
分开。指定托尔
和DS
在宽容方程:abs (uv) < = 10 ^ 6
。
x = 0.1;uniquetol ([x, exp(日志(x))], 10 ^ 6,“DataScale”,1)
ans = 0.1000
接下来,增加的幅度值。舍入误差的计算exp(日志(x))
值的大小成正比,特别是每股收益(x)
。尽管两大值的距离每股收益
从一个另一个每股收益(x)
现在大得多。因此,10 ^ 6
不再是一个合适的公差。
x = 10 ^ 10;uniquetol ([x, exp(日志(x))], 10 ^ 6,“DataScale”,1)
ans =1×21010×1.0000 - 1.0000
纠正这个问题通过使用默认(比例)的价值DS
。
格式长Y = 10 ^ [0.1];uniquetol ([Y, exp(日志(Y))))
ans =1×21010×0.000000000010000 - 1.000000000000000
通过列指定DataScale
创建一组随机二维点,然后使用uniquetol
组的点到垂直的乐队也有类似的(在公差内)坐标。使用这些选项uniquetol
:
指定
ByRows
作为真正的
自点坐标的行一个
。指定
OutputAllIndices
作为真正的
返回所有点的指标有一个坐标在宽容彼此。指定
DataScale
作为(1正)
使用绝对的宽容x
协调而忽略了y
协调。
一个=兰德(1000 2);DS =[1正];[C IA] = uniquetol (0.1,“ByRows”,真的,…“OutputAllIndices”,真的,“DataScale”DS);
情节点和平均值为每一个乐队。
持有在为k = 1:长度(IA)图((IA {k}, 1),一个(IA {k}, 2),“。”)meanAi =意味着((IA {k},:));情节(meanAi (1) meanAi (2),“xr”)结束
输入参数
一个
- - - - - -查询数组
标量|向量|矩阵|多维数组
查询数组,指定为一个标量、向量矩阵,或多维数组。一个
必须完整。
数据类型:单
|双
托尔
- - - - - -比较宽容
积极的,真正的标量
比较宽容,指定为一个积极的,真正的标量。uniquetol
尺度的托尔
输入使用输入数组中的最大绝对值一个
。然后uniquetol
使用结果比较宽容,以确定哪些元素一个
是独一无二的。如果两个元素一个
然后,在彼此宽容吗uniquetol
认为他们是平等的。
两个值,u
和v
,在宽容abs (uv) < = tol *马克斯(abs ())
。
指定一个绝对的宽容,同时指定托尔
和“DataScale”
名称-值对。
例子:托尔= 0.05
例子:托尔= 1 e-8
例子:托尔=每股收益
数据类型:单
|双
发生
- - - - - -发生独特的价值观
“最低”
(默认)|“最高”
发生的惟一值,指定为这个表的选项之一。的价值发生
决定哪些元素uniquetol
选择是独一无二的。
选项 | 描述 |
---|---|
“最低” |
|
“最高” |
|
例子:C = uniquetol(托尔,“最高”)
例子:C = uniquetol((1 2 3), 2,“最高”)
返回3
,因为uniquetol
从最高的价值输入和其他值都在公差之内。
数据类型:字符
|字符串
名称-值参数
指定可选的双参数作为Name1 = Value1,…,以=家
,在那里的名字
参数名称和吗价值
相应的价值。名称-值参数必须出现在其他参数,但对的顺序无关紧要。
R2021a之前,用逗号来分隔每一个名称和值,并附上的名字
在报价。
例子:C = uniquetol (“ByRows”,真的)
OutputAllIndices
- - - - - -产出指数类型
假
(默认)|真正的
|0
|1
产出指数类型,指定为逗号分隔组成的“OutputAllIndices”
,要么假
(默认),真正的
,0
,或1
。uniquetol
解释数字0
作为假
和数字1
作为真正的
。
当OutputAllIndices
是真正的
,uniquetol
函数返回第二个输出,IA
单元阵列。细胞数组包含的指标所有元素一个
在公差值C
。也就是说,每一个细胞IA
对应于一个值C
,每个单元格中的值对应的位置一个
。
例子:[C IA] = uniquetol (tol, OutputAllIndices,真的)
ByRows
- - - - - -行比较切换
假
(默认)|真正的
|0
|1
行比较切换,指定为逗号分隔组成的“ByRows”
,要么假
(默认),真正的
,0
,或1
。uniquetol
解释数字0
作为假
和数字1
作为真正的
。使用这个选项找到行一个
中是独一无二的,宽容。
当ByRows
是真正的
:
一个
必须是一个二维数组。uniquetol
比较的行一个
通过考虑每一列分别。公差内为两行,每一列必须在公差。在每一行
一个
在宽容的行吗C
。但是,没有两行C
在宽容彼此。
两行,u
和v
,在宽容所有(abs (uv) < = tol *马克斯(abs (A)、[], 1))
。
例子:C = uniquetol (tol, ByRows,真的)
DataScale
- - - - - -规模的数据
标量|向量
规模的数据,指定为逗号分隔组成的“DataScale”
和一个标量或矢量。指定DataScale
作为一个数字标量,DS
,改变耐量试验abs (uv) < = tol * DS
。
当一起使用ByRows
选项时,DataScale
值也可以是一个向量。在这种情况下,每个元素的向量指定DS
相应的列一个
。如果一个值DataScale
向量是正
,然后uniquetol
忽略了相应的列一个
。
例子:C = uniquetol (' DataScale ', 1)
例子:[C IA IC] = uniquetol (“ByRows”,没错,‘DataScale’, (eps(1)每股收益(10)每股收益(100)))
数据类型:单
|双
输出参数
C
——独特的元素一个
向量|矩阵
独特的元素一个
(在公差内),作为一个向量或矩阵返回。如果一个
是一个行向量,然后C
也是一个行向量。否则,C
是一个列向量。中的元素C
是按升序排序。中的每个元素一个
在宽容的元素在吗C
,但没有两个元素C
在宽容彼此。
如果ByRows
选择是真正的
,然后C
是一个矩阵包含独特的行一个
。在这种情况下,行C
由第一列按升序排序。在每一行一个
在宽容的行吗C
,但没有两行C
在宽容彼此。
IA
——指数一个
列向量|单元阵列
索引一个
,作为一个列向量返回指数第一次出现重复的元素,或作为一个单元阵列。IA
通常满足C = (IA)
,以下异常:
如果
ByRows
选择是真正的
,然后:C = (IA)
。如果
OutputAllIndices
选择是真正的
,然后IA
是一个单元阵列和C(我)~ (IA{我})
在哪里~
意味着在公差值。
集成电路
——指数C
列向量
索引C
,作为一个列向量返回的索引。集成电路
满足以下属性,~
意味着在公差值。
如果
一个
是一个矢量,然后呢A ~ C (IC)
。如果
一个
是一个矩阵,然后呢(:)~ C(集成电路)
。如果
ByRows
选择是真正的
,然后:A ~ C (IC)
。
算法
uniquetol
各种输入字母顺序进行的,然后开始在最低或最高价值找到独特的值在公差内。因此,改变输入可以改变输出的排序。例如,uniquetol(一)
可能不会给相同的结果-uniquetol (A)
。
可以有多个有效C
输出满足条件,任何两个元素C
在彼此宽容吗。的uniquetol
函数可以返回的几个有效的输出,取决于的价值发生
是“最高”
或“最低”
和是否PreserveRange
选项指定。
扩展功能
线程环境
在后台运行代码使用MATLAB®backgroundPool
与并行计算工具箱™或加速代码ThreadPool
。
这个函数完全支持线程的环境。金宝app有关更多信息,请参见MATLAB函数线程环境中运行。
GPU数组
加速代码运行在一个图形处理单元(GPU)使用并行计算工具箱™。
使用笔记和限制:
的
发生
不支持理由发生的惟一值。金宝app的
“ByRows”
,“OutputAllIndices”
,“PreserveRange”
不支持选项。金宝app不支持64位的整数。金宝app
有关更多信息,请参见运行在GPU MATLAB函数(并行计算工具箱)。
版本历史
介绍了R2015aR2021b:选择控制元件选择和维护的数据的范围
的发生
参数控制算法是否始于最高或最低元素输入数据。的“PreserveRange”
名称-值参数指定输出数据的范围是否应该一样的输入数据。
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国家网站不优化的访问你的位置。