我在MATLAB中使用同构转换。 我得到了一个看起来像这样的转型
>> T01
T01 =
[ cos(phi1), -sin(phi1), 0, 0]
[ sin(phi1), cos(phi1), 0, 0]
[ 0, 0, 1, 0]
[ 0, 0, 0, 1]
围绕z轴的简单旋转。我用了phi1=sym('phi1')
。现在如果我计算逆T01 * inv(T01)
MATLAB不显示Identity矩阵,而是显示具有大表达式的矩阵。如果我使用phi1
的任何显式值,它都有效。如何让MATLAB取消符号值?
由于
编辑:有趣的是,对于某些操作,它确实取消了符号常量:
>> (phi1*phi2)/phi1
ans =
phi2
答案 0 :(得分:1)
使用simplify
>> simplify(T01*inv(T01))
ans =
[ 1, 0, 0, 0]
[ 0, 1, 0, 0]
[ 0, 0, 1, 0]
[ 0, 0, 0, 1]
可能出于性能原因,每个步骤中只会自动应用非常简单的简化规则。