如何解释这些用 MATLAB 编写的命令行?
How to interpret these command lines written in MATLAB?
A 是一个矩阵,其中包含立体视觉系统和相机矩阵的一些匹配点。关于这个问题,我知道我需要最小化与投影点和检测点之间的距离相关的成本函数。
调查 MATLAB 中的一些函数,我发现这段代码我认为是因为我收到的输出而进行了这种最小化。
如果可能的话,我想了解 mathgician 在这里发生了什么:
[~,~,V] = svd(A);
X = V(:,end);
X = X/X(end);
在此先感谢您的帮助
[~,~,V] = svd(A);
执行矩阵 A 的 singular value decomposition,它产生三个矩阵作为输出。其中前两个被忽略(根据 MATLAB 约定将它们分配给 ~
),第三个被分配给变量 V
.
X = V(:,end);
将矩阵 V 的 最右边的列 分配给变量 X
- :
表示 'all',在本例中为 'all the rows'
X = X/X(end);
将 X
的每个元素除以 X
的 最后一个 元素 - 或者换句话说,缩放向量 X 使其最后一个元素是等于 1.
A 是一个矩阵,其中包含立体视觉系统和相机矩阵的一些匹配点。关于这个问题,我知道我需要最小化与投影点和检测点之间的距离相关的成本函数。
调查 MATLAB 中的一些函数,我发现这段代码我认为是因为我收到的输出而进行了这种最小化。
如果可能的话,我想了解 mathgician 在这里发生了什么:
[~,~,V] = svd(A);
X = V(:,end);
X = X/X(end);
在此先感谢您的帮助
[~,~,V] = svd(A);
执行矩阵 A 的 singular value decomposition,它产生三个矩阵作为输出。其中前两个被忽略(根据 MATLAB 约定将它们分配给 ~
),第三个被分配给变量 V
.
X = V(:,end);
将矩阵 V 的 最右边的列 分配给变量 X
- :
表示 'all',在本例中为 'all the rows'
X = X/X(end);
将 X
的每个元素除以 X
的 最后一个 元素 - 或者换句话说,缩放向量 X 使其最后一个元素是等于 1.