如何在Mathematica中以某种形式定义三角函数结果?

时间:2016-12-05 17:31:28

标签: wolfram-mathematica

我在这里有关于mathematica中的三角形式的问题。

   Tabc2dqInv = {{Cos[\[Omega]t], -Sin[\[Omega]t], 
    1}, {Cos[\[Omega]t - 2/3 Pi], -Sin[\[Omega]t - 2/3 Pi], 
    1} , {Cos[\[Omega]t + 2/3 Pi], -Sin[\[Omega]t + 2/3 Pi], 1}};

    Print["dq->abc Transformation  Matrix is: ", Tabc2dqInv // MatrixForm]

结果显示:

enter image description here

问题是如何限制“±2/3 Pi”中的结果而不是转换为“”±1/6 Pi“”?

提前致谢!

1 个答案:

答案 0 :(得分:0)

使用HoldForm

Tabc2dqInv = 
  HoldForm[{{Cos[\[Omega] t], -Sin[\[Omega] t], 
    1}, {Cos[\[Omega] t - 2/3 Pi], -Sin[\[Omega] t - 2/3 Pi], 
    1}, {Cos[\[Omega] t + 2/3 Pi], -Sin[\[Omega] t + 2/3 Pi], 1}}]

Print["dq->abc Transformation  Matrix is: ", Tabc2dqInv // MatrixForm]

enter image description here

请注意,表单已保留,但MatrixForm无效,因为表达式现在具有头部HoldForm而非Matrix。要解决此问题,您可以将每个表达式放在HoldForm

Tabc2dqInv = {{Cos[\[Omega] t], -Sin[\[Omega] t], 
   1}, {HoldForm[Cos[\[Omega] t - 2/3 Pi]], 
   HoldForm[-Sin[\[Omega] t - 2/3 Pi]], 
   1}, {HoldForm[Cos[\[Omega] t + 2/3 Pi]], 
   HoldForm[-Sin[\[Omega] t + 2/3 Pi]], 1}}

Print["dq->abc Transformation  Matrix is: ", 
 Tabc2dqInv // MatrixForm ]

enter image description here

另外请注意,您需要释放保留以执行大多数其他操作,例如:

ReleaseHold[Tabc2dqInv /. \[Omega] -> 0]
  

{{1,0,1},{ - (1/2),Sqrt [3] / 2,1},{ - (1/2), - (Sqrt [3] / 2),1} }

我的一般建议是,不要过于紧张mathematica决定简化事物的方式,只要它在数学上是正确的。