公差范围内唯一值
C = Uniquetol(A,Tol)
c = Uniquetol(a)
[c,ia,ic] = unquetol(___)
[___) = uniquetol (___、名称、值)
创建一个向量,X
.获得第二个向量,y
通过改变和不改变X
.这种转变介绍了循环差异y
.
x =(1:6) *π;y = 10 ^ log10 (x);
验证X
和y
是不同的。
X-Y.
ans =.1.0E-14 * 0.0444 0 0 0 0 0.0.3553
用独特的
找到级联向量的独特元素[X; Y]
.的独特的
功能进行精确的比较,并确定一些值X
不完全等于值y
.这些是具有非零差异的相同元素X-Y.
.因此,C
包含的值是出现是重复的。
c =唯一([x; y])
c =3.1416 3.1416 6.2832 9.4248 12.5664 15.7080 18.8496 18.8496
用uniquetol.
使用小公差进行比较。uniquetol.
将容差的元素视为平等。
C = uniquetol([X; Y])
C =3.1416 6.2832 9.4248 12.5664 15.7080 18.8496
默认情况下,uniquetol.
寻找独特的元素这在宽容范围内,但它也可以找到独特的行矩阵是公差范围内。
创建一个数字矩阵,一种
.获得第二矩阵,B.
通过改变和不改变一种
.这种转变介绍了循环差异B.
.
A = [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 =日志10(10 ^ A);
用独特的
找到唯一的行一种
和B.
.的独特的
功能进行精确的比较,并确定在连接矩阵的所有行的[A; B]
是唯一的,即使某些行只相差很小。
唯一的([A; B],'行')
ans =.0.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.
对待公差范围内的行。
Unquetol([a; b],'byrows',真的)
ans =.0.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
通过改变和不改变X
.这种转化介绍四舍五入差异在一些元素y
.
x =(1:6) *π;y = 10 ^ log10 (x);
结合X
和y
进入单个载体,一种
.用uniquetol.
重建一种
中,治疗是公差为同等范围内的值。
a = [x; y]
A =3.1416 6.2832 9.4248 12.5664 15.7080 18.8496 3.1416 6.2832 9.4248 12.5664
[C IA IC] = uniquetol(一个);newA = C(集成电路)
纽瓦=3.1416 6.2832 9.4248 12.5664 15.7080 18.8496 3.1416 6.2832 9.4248 12.5664
您可以使用纽瓦
和==
使用像确切的平等或功能是平等的
或者独特的
在随后的代码。
D1 =唯一的(A)
D1 =3.1416 3.1416 6.2832 9.4248 12.5664 15.7080 18.8496 18.8496
D2 =唯一的(纽瓦)
D2 =3.1416 6.2832 9.4248 12.5664 15.7080 18.8496
创建一个二维样本点云,限定在半径范围内0.5
以点为中心.
X =兰特(10000,2);insideCircle = SQRT((X(:,1) - 5)^ 2 +(X(:。。,2) - 5)^ 2)<0.5;Y = X(insideCircle,:);
找到一组减少的点,使得原始数据集的每个点在一个点的容差范围内。
TOL = 0.05;C = uniquetol(Y,TOL,'byrows',真的);
绘制减少集点作为原始数据集的顶部红点。红点是原始数据集的所有成员。所有红点至少是一个距离托
分开。
绘图(Y(:,1),Y(:,2),'。') 抓住在轴平等的情节(C (: 1), C (:, 2),'.r'那'MarkerSize',10)
创建随机数的向量,并确定用宽容的独特元素。指定OutputAllIndices
作为真的
返回在唯一值的容差范围内的元素的所有索引。
一个=兰德(100 1);[C IA] = uniquetol(1飞行,'OutputalAllindices',真的);
发现是值的容差范围内的要素的平均值C(2)
.
C(2)
ANS = 0.0318.
ALLA = A(IA {2})
alla =0.0357 0.0318 0.0344
AVEA =平均值(ALLA)
Avea = 0.0340.
默认情况下,uniquetol.
使用形式的糖耐量试验ABS(U-V)<= TOL * DS
, 在哪里DS.
自动地秤基于所述输入数据的大小。您可以指定不同的DS.
与之使用的价值DataScale
选项。但是,绝对的宽容(哪里DS.
是一个标量)根据输入数据的大小不能扩展。
首先,比较两个距离的小值eps.
分开。指定托
和DS.
求公差内方程:abs (uv) < = 10 ^ 6
.
X = 0.1;Unquetol([x,exp(log(x))],10 ^ -6,'DataScale',1)
ANS = 0.1000
接下来,增加值的幅度。计算中的圆关闭错误EXP(日志(X))
与值的大小成比例,具体到EPS(x)
.即使这两个大值是一段距离eps.
从彼此,EPS(x)
现在更大了。所以,10 ^ -6
不再是合适的宽容。
x = 10 ^ 10;Unquetol([x,exp(log(x))],10 ^ -6,'DataScale',1)
ans =.1.0e+10 * 1.0000
使用默认的(缩放的)值来纠正这个问题DS.
.
格式长Y = [0.1 10 ^ 10];uniquetol([Y,实验值(日志(Y))])
ANS = 1.0E + 10 * 0.00000000000000001 1.000000000000000
创建一组随机的二维点,然后使用uniquetol.
将点分组到具有相似(在公差范围内)X坐标的垂直频带中。使用这些选项uniquetol.
:
指定ByRows
作为真的
因为点坐标是一种
.
指定OutputAllIndices
作为真的
返回指数具有相互的容差范围内的x坐标的所有点。
指定DataScale
作为[1款]
使用绝对容限X
- 协调而忽略了y
-协调。
a = rand(1000,2);DS = [1款];[c,ia] = Unquetol(a,0.1,'byrows',真的,......'OutputalAllindices',真的,'DataScale',DS);
绘制各频段的点和平均值。
抓住在为了K = 1:长度(IA)情节(A(IA {K},1),A(IA {K},2),'。') meanAi = mean(A(IA{k},:));情节(meanAi (1) meanAi (2),'XR')结尾
一种
——查询数组查询数组,指定为标量、向量、矩阵或多维数组。一种
必须完整。
数据类型:单身的
|双
托
- 比较宽容比较耐受,指定为正,真正的标量。uniquetol.
尺度的托
输入使用输入数组中的最大绝对值输入一种
.然后uniquetol.
使用所得到的经缩放比较公差来确定哪些元素一种
是独一无二的。如果两个元素一种
那他们之间的容忍度如何uniquetol.
认为他们是平等的。
两个值,你
和V.
,在容许范围内,如果abs (uv) < = tol *马克斯(abs ())
.
要指定一个绝对的宽容,同时指定托
和'DataScale'
名称 - 值对。
例子:tol = 0.05
例子:TOL = 1E-8
例子:托尔=每股收益
数据类型:单身的
|双
指定可选的逗号分离对名称,价值
参数。姓名
是参数名称和价值
是相应的价值。姓名
必须出现内单引号(“”
)。您可以以任何顺序指定多个名称和值对参数Name1, Value1,…,的家
.
C = uniquetol(A, 'ByRows',真)
'OutputalAllindices'
- 输出索引类型错误的
(默认)|真的
|0.
|1
输出索引类型,指定为逗号分隔的对组成'OutputalAllindices'
,要么错误的
(默认),真的
那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
是真的
:
一种
必须是2-D阵列。
uniquetol.
比较行的行一种
通过分别考虑每一列。为了使两行数据在公差范围内,每一列都必须在公差范围内。
每一行一种
是否在公差范围内C
.然而,没有两行C
都在容忍范围之内。
两行,你
和V.
,在容许范围内,如果所有(abs (uv) < = tol *马克斯(abs (A)、[],1))
.
例子:c = Uniquetol(A,Tol,'Byrows',True)
'DataScale'
- 数据规模数据的规模,指定为逗号分隔对组成'DataScale'
以及一个标量或矢量。指定DataScale
作为一个数值标量,DS.
,改变糖耐量试验是ABS(U-V)<= TOL * DS
.
当与之一起使用时ByRows
选项,这是DataScale
价值也可以是矢量。在这种情况下,矢量的每个元素指定DS.
对于相应的列一种
.如果是值DataScale
矢量正
, 然后uniquetol.
忽略相应的列一种
.
例子:C = Uniquetol(a,'dataScale',1)
例子:[C,IA,IC] = uniquetol(A, 'ByRows',真, 'DataScale',[EPS(1)EPS(10)EPS(100)])
数据类型:单身的
|双
C
- 独特的元素一种
在独特的元素一种
(公差内),返回为矢量或矩阵。如果一种
是一排矢量,然后C
也是一个行向量。否则,C
是一个列向量。中的元素C
按升序排序。每个元素一种
是否在公差范围内C
,但没有两个元素C
都在容忍范围之内。
如果是ByRows
选项是真的
, 然后C
是包含唯一行的矩阵一种
.在这种情况下,该行中C
按第一列升序排序。每一行一种
是否在公差范围内C
,但不能排进两排C
都在容忍范围之内。
IA.
- 指数一种
索引一种
时,返回作为指标的重复元件的第一次出现,或者作为一个单元阵列的列向量。IA.
通常满足C = A(IA)
,以下例外:
如果是ByRows
选项是真的
, 然后c = a(ia,:)
.
如果是OutputAllIndices
选项是真的
, 然后IA.
是单元阵列和c(i)〜a(ia {i})
在哪里〜
意味着这些价值观在相互容忍范围内。
我知道了
- 指数C
索引C
,作为索引的列向量返回。我知道了
满足以下属性,其中〜
意味着这些价值观在相互容忍范围内。
如果一种
是一个矢量,然后A〜C(IC)
.
如果一种
是一个矩阵A(:)〜C(IC)
.
如果是ByRows
选项是真的
, 然后A〜C(IC,:)
.
可以有多个有效C
满足条件的输出,在没有两个元素C
在彼此的公差范围内.的uniquetol.
函数只是返回的有效输出之一。
uniquetol.
排列lexically排序,然后从最低值开始,以在容差内找到唯一的值。结果,改变输入的排序可以改变输出。例如,uniquetol(-A)
可能不会得到和-uniquetol(A)
.
您单击了与此MATLAB命令对应的链接:
在MATLAB命令窗口中输入它来运行命令。Web浏览器不支持MATLAB命令。金宝app
您还可以从以下列表中选择一个网站:
选择中国网站(以中文或英文)以获取最佳网站性能。其他MathWorks国家网站未优化您的位置。