[問題] 矩陣資料格式

看板Mathematica作者 (FT-ICR)時間9年前 (2014/10/19 23:08), 編輯推噓2(2011)
留言13則, 3人參與, 最新討論串1/1
各位板友好 小弟Mathematica新手有個問題想請教 (Mathematica截圖在這邊 http://ppt.cc/31A4 敘述如下) 設旋轉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 感謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 219.71.77.154 ※ 文章網址: http://www.ptt.cc/bbs/Mathematica/M.1413731331.A.6E1.html

10/19 23:43, , 1F
把 MatrixForm 拿掉, 雖然我覺得這應該不影響計算才對...
10/19 23:43, 1F

10/19 23:43, , 2F
那個在你實際算東西時再加上就好
10/19 23:43, 2F

10/19 23:48, , 3F
唔嗯, 用 FullForm 看了一下有問題的結果確實是 MatrixForm
10/19 23:48, 3F

10/19 23:48, , 4F
卡在中間的關係...
10/19 23:48, 4F

10/19 23:49, , 5F
看來當計算結果是這種 Form 物件時, Out[] 會取內容存起來
10/19 23:49, 5F

10/19 23:49, , 6F
感謝L大 去掉MatrixForm確實就可以算了
10/19 23:49, 6F

10/19 23:49, , 7F
所以就把 MatrixForm 拿掉就沒問題了
10/19 23:49, 7F

10/19 23:50, , 8F
只是要輸出矩陣的話就要 最後面再加MatrixForm
10/19 23:50, 8F

10/19 23:51, , 9F
請問有沒有辦法直接在operator裡面弄好MatrixForm而不需要
10/19 23:51, 9F

10/19 23:51, , 10F
每算一次都打MatrixForm呢?
10/19 23:51, 10F

10/20 02:13, , 11F
MatrixForm很危險,會讓整個計算爛掉,通常都是在計算
10/20 02:13, 11F

10/20 02:13, , 12F
結束後要快速瀏覽結果才用
10/20 02:13, 12F

10/20 17:37, , 13F
了解 感謝講解!!
10/20 17:37, 13F
文章代碼(AID): #1KGzG3RX (Mathematica)
文章代碼(AID): #1KGzG3RX (Mathematica)