Matlab 平面拟合 - 无法获得均方根误差

Matlab plane fit - unable to get the root mean square error

我需要找到适合一组 3D 点的平面的 RMS(均方根)误差。我正在使用 pcfitplane 函数,但我得到了一个索引数组作为结果。

我的代码:

% Create the point cloud object
% XYZ is a N by 3 matrix containing the points
ptCloud = pointCloud(XYZ);
[~,rmse] = pcfitplane(ptCloud,maxDistance);

% rmse is a 1 by N array, and the values are also from 1 to N! 

我在这里缺少什么?如何正确获取 RMS 误差?

您没有正确解释 docs。以下是原型的显示方式:

[model,inlierIndices,outlierIndices] = pcfitplane(ptCloudIn,maxDistance)
[___,rmse] = pcfitplane(ptCloudIn,maxDistance)
[___] = pcfitplane(ptCloudIn,maxDistance,Name,Value)

长三重下划线表示 "all the output arguments from the sytaxes shown above",而不是 "one argument"。正如您正确注意到的那样,您正在返回 inlierIndices 。你正在尝试做这样的事情:

[~,~,~,rmse] = pcfitplane(ptCloud,maxDistance);

三个波浪号是长下划线。他们代表model,inlierIndices,outlierIndices。希望对您以后的文档也有帮助。