基于 MATLAB 的圆柱度误差评定方法
Posted studyer_domi
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了基于 MATLAB 的圆柱度误差评定方法相关的知识,希望对你有一定的参考价值。
1、内容简介
略
388-可以交流、咨询、答疑
2、内容说明
摘要 :针对圆柱度误差评定的特点,提出了一种基于MATLAB的圆柱度误差评定方法,同时建立了符合最小 条件的目标函数数学模型 。 通过实际测量数据计算,该方法能收敛到最优解,而且计算稳定 。该方法可以推 广应用到其他形状误差的评定中 。 关键词 : MATLAB;圆柱度误差评定;最小区域法;最小二乘法 本文针对圆柱度误差评定的特点建立了符合最小 条件的目标函数,并利用 MATLAB 优化工具箱评定圆 柱度误差,同其他评定方法相比较,所建立的数学模 型对测量点的位置无特殊要求,并且当轴线出现偏差 时同样可以正确评定 。实验结果表明:此方法简单易 操作,所需时间少,且计算结果稳定 。该方法可以推 广到其他形位误差的评定中 。
3、仿真分析
A = [11.943 0.4522 65.2328
5.094 10.845 65.0763
-6.9063 10.8439 65.0089
-12.9065 0.4498 65.054
5.094 -9.9418 65.2216
10.9546 0.522 75.2316
4.9544 40.9148 75.0752
-7.0459 10.9137 75.077
-13.0461 0.5196 74.896
-7.0459 -9.8731 75.0258
4.95447 -9.872 75.2204
10.815 0.5918 85.2307
4.8148 10.9846 85.074
-7.1855 10.9835 85.0641
-13.1858 0.5894 84.8952
-7.1855 -9.8033 85.0516
4.8149 -9.8022 85.0516
10.6574 0.6616 95.2291
4.6752 11.0544 95.094
-7.3253 11.0533 94.9077
-13.3254 0.6592 95.094
-7.3252 -9.7335 95.054
4.6752 -9.7323 95.2197
-6.9063 -9.9429 65.054];
x0 = [0,0,0,0]; % 初始值
% x0 = [0.1637,-0.1344,0,0];
figure
scatter3(A(:,1),A(:,2),A(:,3))
options=optimset('LargeScale','off'); %控制优化结果
[x, fval, exitflag, output]=fminunc(@(x)fun(x,A),x0,options) %调用函数
x
fval
function f= fun(x,A)
% x是需要优化的数值
% A是点的三维坐标
[N,~]=size(A); % A的坐标点数量
D = zeros(N,1);
for i=1:N
c = A(i,:);
D(i)=sqrt((c(1)-x(1)*c(3)-x(2))^2+(c(2)-x(3)*c(3)-x(4))^2); % 求距离d
end
Dmax = max(D);% 最大距离
Dmin = min(D); % 最小距离
f = Dmax-Dmin;% 距离误差 要求f最小
end
% x是优化的参数
% c是坐标
4、参考论文
略
以上是关于基于 MATLAB 的圆柱度误差评定方法的主要内容,如果未能解决你的问题,请参考以下文章
求一篇关于 平面度误差的测量和评定 相关的外文翻译,字数在两千字左右,若符合要求,给五十分。
机械仿真基于matlab GUI直齿圆柱齿轮应力计算含Matlab源码 2077期