2011-02-27 152 views
3

如果我有MATLAB像一個上三角矩陣變換上三角矩陣MATLAB

A = 

    1 2 3 4 
    0 5 6 7 
    0 0 8 9 
    0 0 0 1 

你會如何將其轉換爲:

a = 
    1 2 3 4 
    2 5 6 7 
    3 6 8 9 
    4 7 9 1 

(轉,並保持原有的上三角值)

+0

可能重複[如何複製所有元素在Matlab對角線以下的對角線以下?](http://stackoverflow.com/questions/19516142/how-to-copy-all-elements-above-diagonal-to-低於對角線的matlab) – Shai

回答

6

a = A + triu(A, 1)'做你想做的事(假設實矩陣或你想要一個Hermitian矩陣的複數值)。

+0

好吧,A矩陣只有實際值 – cMinor

+0

@darkcminor:然後答案會做你想要的。 –

+0

請注意,如果您正在處理複數,並且想要對矩陣**進行轉置,而沒有**複數值,則可以使用'。'運算符而不是''。 – Shai