什么 .在 Matlab 表达式中是什么意思?

What does . mean in a Matlab expression?

来自计算机视觉立体深度估计的Matlab例子...

下面最后一行的 . 的目的是什么?

centroids_2D = [round(bboxes(:, 1) + bboxes(:, 3) / 2), ...
    round(bboxes(:, 2) + bboxes(:, 4) / 2)];

centroidsIdx = sub2ind(size(disparityMap), centroids_2D(:, 2), centroids_2D(:, 1));
X = point3D(:, :, 1);
Y = point3D(:, :, 2);
Z = point3D(:, :, 3);
centroids3D = [X(centroidsIdx), Y(centroidsIdx), Z(centroidsIdx)];

object_distance_meters = sqrt(sum(centroids3D .^ 2, 2)) / 1000;

这是逐元素幂运算符。有关详细信息和示例,请参阅 docs

运算符^.^是两种不同的使用幂的方式

A^2 表示 A*A

另一方面,

A.^2 表示

A(1) = A(1)^2;
A(2) = A(2)^2;
A(3) = A(3)^2;
....