www.pudn.com > baojiading.rar > flatness2.m, change:2009-05-12,size:903b


clear 
clc 
 
cd('C:\MATLAB7\work'); 
 % [c_x,c_y,c_z]=textread('flatness1.txt','%f%f%f'); 
 [c_x,c_y,c_z]=textread('flatness2.txt','%f%f%f'); 
 
mk_cy=[c_x,c_y,c_z]; 
figure(1) 
 scatter3(c_x,c_y,c_z,'*') 
 xlabel('x'),ylabel('y'),zlabel('z') 
  
 
 
    %%% 建立最小二乘平面  回归分析  
     %z=a+bx+cy  下面是测量点到该平面的距离计算 
    A_c=[c_x,c_y,ones(size(c_z))];  
x_r=A_c\c_z;  
 
a_r=x_r(3);  
b_r=x_r(1);  
c_r=x_r(2);  
     
[a_r,b_r,c_r]    
%z=a_r+b_r*x+c_r*y  下面是测量点(c_x,c_y,c_z)到该平面的距离计算 
 
d_p=sqrt(1+b_r^2+c_r^2);  
d_p1=(c_z-a_r-b_r*c_x-c_r*c_y)/d_p;                  %% 计算到最小二乘拟合平面的距离 
 
d_min=min(d_p1)                       %% 到最小二乘拟合平面的最小距离 
d_max=max(d_p1)                       %% 到最小二乘拟合平面的最大距离 
d_zong=d_max-d_min                  %% 认证结果 
 
[d_min,d_max,d_zong]