[问题] 矩阵资料格式

楼主: FTICR (FT-ICR)   2014-10-19 23:08:48
各位板友好 小弟Mathematica新手有个问题想请教
(Mathematica截图在这边
叙述如下)
设旋转operator
Cos[\[Theta]z] -Sin[\[Theta]z] 0
Rz[C_]:= ( Sin[\[Theta]z] Cos[\[Theta]z] 0 ).C// MatrixForm // N
0 0 1
1 0 0
Rx[A_]:= ( Cos[\[Theta]z] -Sin[\[Theta]z] 0 ).A// MatrixForm // N
Sin[\[Theta]z] Cos[\[Theta]z] 0
在计算时出现的状况为:
\[Theta]z = 30 \[Degree] ;
\[Theta]x = 45 \[Degree] ;
10
Rz[(20)]
30
-1.33
输出 (22.3205)
30
到目前为止完全正确
但如果要算
10
Rx[Rz[(20)]] (先在z方向转再在x方向转)
30
-1.33
输出却变为 {{1,0,0},{0,0.707,-0.707},{0,0.707,0.707}}. (22.3205)
30
两个矩阵却无法相乘
如果是
10
Rz[(20)]
30
-1.33
输出 (22.3205)
30
再算
Rx[%]
又可以正确算出结果
a
请问要如何解决才有办法算 Rx[Rz[(b )]] 这类的运算呢?
c
感谢
作者: LPH66 (-6.2598534e+18f)   2014-10-19 23:43:00
把 MatrixForm 拿掉, 虽然我觉得这应该不影响计算才对...那个在你实际算东西时再加上就好唔嗯, 用 FullForm 看了一下有问题的结果确实是 MatrixForm卡在中间的关系...看来当计算结果是这种 Form 物件时, Out[] 会取内容存起来
楼主: FTICR (FT-ICR)   2014-10-19 23:49:00
感谢L大 去掉MatrixForm确实就可以算了
作者: LPH66 (-6.2598534e+18f)   2014-10-19 23:49:00
所以就把 MatrixForm 拿掉就没问题了
楼主: FTICR (FT-ICR)   2014-10-19 23:50:00
只是要输出矩阵的话就要 最后面再加MatrixForm请问有没有办法直接在operator里面弄好MatrixForm而不需要每算一次都打MatrixForm呢?
作者: leo80042 (嗯嗯啊啊去洗澡)   2014-10-20 02:13:00
MatrixForm很危险,会让整个计算烂掉,通常都是在计算结束后要快速浏览结果才用
楼主: FTICR (FT-ICR)   2014-10-20 17:37:00
了解 感谢讲解!!

Links booklink

Contact Us: admin [ a t ] ucptt.com