查找具有两个向量的旋转矩阵
Find rotation matrix with two vectors
我想求两个向量之间的旋转矩阵。
[0;0;1] = R * [0.0023;0.0019;0.9899]
如何找到 3*3 旋转矩阵?
这是一个简单的重新排列
% [0;0;1] = R * [0.0023;0.0019;0.9899];
% So ...
% [0;0;1] / [0.0023;0.0019;0.9899] = R
% This is a valid MATLAB command
R = [0;0;1] / [0.0023;0.0019;0.9899];
>> R =
[ 0 0 0
0 0 0
0 0 1.0102 ]
我们可以验证这个结果
R * [0.0023;0.0019;0.9899]
>> ans =
[0; 0; 1]
你的问题可以定义为一个线性方程,比如说,
y = mx
其中,y
和 x
是矩阵。查找 m
.
解决方案:
m = x\y or m = mldivide(x,y)
注意 backslash
。它不是 Wolfie 在他的回答中提到的正斜杠 /
。有关详细信息,请参阅 https://www.mathworks.com/help/matlab/ref/mldivide.html
其他详细信息:
如果 x
是奇异矩阵,则使用 pinv
。请参阅 https://www.mathworks.com/help/matlab/ref/pinv.html 以供参考。
我想求两个向量之间的旋转矩阵。
[0;0;1] = R * [0.0023;0.0019;0.9899]
如何找到 3*3 旋转矩阵?
这是一个简单的重新排列
% [0;0;1] = R * [0.0023;0.0019;0.9899];
% So ...
% [0;0;1] / [0.0023;0.0019;0.9899] = R
% This is a valid MATLAB command
R = [0;0;1] / [0.0023;0.0019;0.9899];
>> R =
[ 0 0 0
0 0 0
0 0 1.0102 ]
我们可以验证这个结果
R * [0.0023;0.0019;0.9899]
>> ans =
[0; 0; 1]
你的问题可以定义为一个线性方程,比如说,
y = mx
其中,y
和 x
是矩阵。查找 m
.
解决方案:
m = x\y or m = mldivide(x,y)
注意 backslash
。它不是 Wolfie 在他的回答中提到的正斜杠 /
。有关详细信息,请参阅 https://www.mathworks.com/help/matlab/ref/mldivide.html
其他详细信息:
如果 x
是奇异矩阵,则使用 pinv
。请参阅 https://www.mathworks.com/help/matlab/ref/pinv.html 以供参考。