以下是一个简单的Matlab程序,通过计算每个点到圆心的距离与半径的差值,判断该点是否在规定范围内,最终统计正/次品数目:

% 设置工件半径和允许误差
r = 10; % mm
tolerance = 0.1; % mm

% 读入36个点的坐标数据
data = load('data.txt'); % 36行2列矩阵

% 分别计算每个点到圆心的距离和与半径的差值
distances = sqrt(data(:,1).^2 + data(:,2).^2);
deviations = abs(distances - r);

% 判断每个点是否在规定范围内
in_range = deviations < tolerance;

% 统计正/次品数目
num_good = sum(in_range);
num_bad = 36 - num_good;

% 输出结果
fprintf('正品数目:%d\n', num_good);
fprintf('次品数目:%d\n', num_bad);

其中,data.txt文件应该包含36行2列的矩阵,每行表示一个点的x和y坐标。程序运行后将输出正/次品数目


原文地址: https://www.cveoy.top/t/topic/ftxa 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录