8.矩陣轉置運算
在MATLAB中,矩陣轉置運算時要注意,若運算對象(運算元)為實數,可使用「'」作矩陣轉置運算,例如:
>> A=magic(3)
A =
8 1 6
3 5 7
4 9 2
>> A'
ans =
8 3 4
1 5 9
6 7 2
但是,若運算對象為複數,則要使用「.'」作矩陣轉置運算,例如:
>> z=ones(3)+magic(3)*j
z =
1.0000 + 8.0000i 1.0000 + 1.0000i 1.0000 + 6.0000i
1.0000 + 3.0000i 1.0000 + 5.0000i 1.0000 + 7.0000i
1.0000 + 4.0000i 1.0000 + 9.0000i 1.0000 + 2.0000i
>> z'
ans =
1.0000 - 8.0000i 1.0000 - 3.0000i 1.0000 - 4.0000i
1.0000 - 1.0000i 1.0000 - 5.0000i 1.0000 - 9.0000i
1.0000 - 6.0000i 1.0000 - 7.0000i 1.0000 - 2.0000i
>> z.'
ans =
1.0000 + 8.0000i 1.0000 + 3.0000i 1.0000 + 4.0000i
1.0000 + 1.0000i 1.0000 + 5.0000i 1.0000 + 9.0000i
1.0000 + 6.0000i 1.0000 + 7.0000i 1.0000 + 2.0000i
由此可看出,若運算對象為複數,只使用「'」作矩陣轉置運算,會得到矩陣共軛轉置,而不是預期中的轉置運算。
沒有留言:
張貼留言