如何解释用MATLAB编写的这些命令行?

时间:2018-06-18 12:49:04

标签: matlab linear-algebra

A 是一个矩阵,包含立体视觉系统和摄像机矩阵的一些匹配点。关于这个问题,我知道我需要最小化与投影点和检测点之间的距离相关的成本函数。

调查MATLAB中的一些函数我发现这个代码,我想这会因为我收到的输出而实现最小化。

如果可能的话,我想了解 mathgician 在这里发生了什么:

    [~,~,V] = svd(A);
    X = V(:,end);
    X = X/X(end);

提前感谢您提供任何帮助

1 个答案:

答案 0 :(得分:1)

[~,~,V] = svd(A);

执行矩阵A的singular value decomposition,其产生三个矩阵作为输出。前两个被忽略(根据MATLAB约定将它们分配给~,第三个被赋值给变量V

X = V(:,end);

将矩阵V的最右列分配给变量X - :表示全部'在这种情况下'全部行'

X = X/X(end);

X的每个元素除以X last 元素 - 换句话说,缩放向量X,使其最后一个元素等于1。 / p>