matlab中计算容差是什么,matlab

使用R2015a,这个问题最终得到了一个简单的答案(详情请参阅我对这个问题的其他答案 )。 对于R2015a之前的版本,有一个内置的(未记录的)函数: _mergesimpts 。 对名称组成的安全猜测是“合并相似点”。

使用以下语法调用该函数:

xMerged = builtin('_mergesimpts',x,tol,[type])

数据阵列x是N-by-D ,其中N是点数, D是维数。 每个维度的容差由D元素行向量tol 。 可选的输入参数type是一个字符串( 'first' (默认)或'average' ),表示如何合并类似的元素。

输出xMerged将是M-by-D ,其中M<=N 它已分类 。

例子,1D数据 :

>> x = [1; 1.1; 1.05]; % elements need not be sorted

>> builtin('_mergesimpts',x,eps) % but the output is sorted

ans =

1.0000

1.0500

1.1000

合并类型:

>> builtin('_mergesimpts',x,0.1,'first')

ans =

1.0000 % first of [1, 1.05] since abs(1 - 1.05) < 0.1

1.1000

>> builtin('_mergesimpts',x,0.1,'average')

ans =

1.0250 % average of [1, 1.05]

1.1000

>> builtin('_mergesimpts',x,0.2,'average')

ans =

1.0500 % average of [1, 1.1, 1.05]

示例,2D数据 :

>> x = [1 2; 1.06 2; 1.1 2; 1.1 2.03]

x =

1.0000 2.0000

1.0600 2.0000

1.1000 2.0000

1.1000 2.0300

机床精度所特有的所有2D点:

>> xMerged = builtin('_mergesimpts',x,[eps eps],'first')

xMerged =

1.0000 2.0000

1.0600 2.0000

1.1000 2.0000

1.1000 2.0300

基于第二维度容差的合并:

>> xMerged = builtin('_mergesimpts',x,[eps 0.1],'first')

xMerged =

1.0000 2.0000

1.0600 2.0000

1.1000 2.0000 % first of rows 3 and 4

>> xMerged = builtin('_mergesimpts',x,[eps 0.1],'average')

xMerged =

1.0000 2.0000

1.0600 2.0000

1.1000 2.0150 % average of rows 3 and 4

基于第一维度容差进行合并:

>> xMerged = builtin('_mergesimpts',x,[0.2 eps],'average')

xMerged =

1.0533 2.0000 % average of rows 1 to 3

1.1000 2.0300

>> xMerged = builtin('_mergesimpts',x,[0.05 eps],'average')

xMerged =

1.0000 2.0000

1.0800 2.0000 % average of rows 2 and 3

1.1000 2.0300 % row 4 not merged because of second dimension

基于两个维度合并:

>> xMerged = builtin('_mergesimpts',x,[0.05 .1],'average')

xMerged =

1.0000 2.0000

1.0867 2.0100 % average of rows 2 to 4

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值