精華區beta MATLAB 關於我們 聯絡資訊
日前有在板上提到矩陣轉置的問題 得知除了'以外 還有transpose可以使用,使用上可以避開一些麻煩的地方 不過前陣子老師上課時有提到複數的問題 有說到是如果用matlab來計算題目時 使用轉置必須格外注意 因為matlab的轉置會有問題 除了轉置以外還會順便幫你全部取共軛 像是1+5i 2-3i轉置後 3+4i 5-9i 會變成1-5i 3-4i這樣 2+3i 5+9i 因此必須要再包一個conj才會變成我們要的轉置矩陣 後來我在寫作業的時候就格外注意這個地方,提醒自己外面要再包一個conj 但是之後與同學對答案卻發現兩人跑出來完全不同的兩種答案 仔細查程式碼才發現我們兩個的差異是在哪裡 我打的是conj(transpose(A)) 同學打的卻是conj(A') 此時對於這兩種轉置於法產生了疑問 於是使用hel後p得知了'與transpose是兩種不同的指令 .' Transpose. X.' is the non-conjugate transpose. B = TRANSPOSE(A) is called for the syntax A.' when A is an object. 也就是說 '是未經過conj的transpose 而transpose則是已經把conj計算進去了 換種方式寫就是: conj(A') = transpose(A) 希望有在進行複數矩陣運算的版友多加留意 -- Deserves death! I daresay he does. Many that live deserve death. And some die that deserve life. Can you give that to them? Then be not too eager to deal out death in the name of justice, fearing for your own safty. Even the wise cannot see all ends. Gandalf to Frodo -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 220.131.231.83
PhoenixChu:推一下 12/08 23:00
Ysen:推一下阿~ 12/09 00:51
FERRE:另外也可用 .' ex: A.' 這樣就只會轉置 12/09 01:38
gyro:A' 是共軛轉置的意思吧 12/09 12:52
gyro:transpose(A) 則是單純轉置 所以會不同囉~~ 12/09 12:53
gyro:三樓真是太強了 orz (推) 12/09 12:54
z1976:嗯...推一下 12/09 20:06