MATLAB中的符号常量

时间:2014-07-19 10:02:30

标签: matlab symbolic-math

我在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

1 个答案:

答案 0 :(得分:1)

使用simplify

>> simplify(T01*inv(T01))


ans =

[ 1, 0, 0, 0]
[ 0, 1, 0, 0]
[ 0, 0, 1, 0]
[ 0, 0, 0, 1]

可能出于性能原因,每个步骤中只会自动应用非常简单的简化规则。