roundness_assessment.m

来自「matlab圆度误差的评定算法」· M 代码 · 共 31 行

M
31
字号
function ess_lsc=Roundness_Assessment(h,raxis)
%h为分离出的误差数据,raxis基圆半径
n=size(h',1); 
theta=linspace(0,2*pi-2*pi/n,n); 
a=2/n*sum(h.*cos(theta)); 
b=2/n*sum(h.*sin(theta)); 
h_lsc=h-a*cos(theta)-b*sin(theta); %变换到最小二乘圆坐标系中
ess_lsc=max(h_lsc)-min(h_lsc); 
r_lsc=sum(h)/n; 
r=h; 
x=r.*cos(theta);
y=r.*sin(theta);
x1=r_lsc.*cos(theta);
y1=r_lsc.*sin(theta);
figure
plot(x,y,'-',x1,y1,'-.')
legend('分离出的误差圆','最小二乘圆');
axis([-raxis-5,raxis+5,-raxis-5,raxis+5])
hold on
line([-5,5],[b,b])
line([a,a],[-5,5])
line([-raxis,raxis],[0,0])
line([0,0],[-raxis,raxis])
hold off
ess=sprintf('最小二乘误差为: %0.4f',ess_lsc);





⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?