【问题标题】:Symbolic constants in MATLABMATLAB 中的符号常量
【发布时间】:2014-07-19 10:02:29
【问题描述】:

我正在使用 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 不会显示单位矩阵,而是显示具有巨大表达式的矩阵。如果我对phi1 使用任何显式值,它就可以工作。如何让 MATLAB 消除符号值?

谢谢

编辑:有趣的是,对于某些操作,它确实取消了符号常量:

>> (phi1*phi2)/phi1

ans =

phi2

【问题讨论】:

    标签: matlab symbolic-math


    【解决方案1】:

    使用simplify

    >> simplify(T01*inv(T01))
    
    
    ans =
    
    [ 1, 0, 0, 0]
    [ 0, 1, 0, 0]
    [ 0, 0, 1, 0]
    [ 0, 0, 0, 1]
    

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2010-12-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-12
      相关资源
      最近更新 更多