How to calculate diagonal for NxN matrix ?

Hi
I'm trying to calculate the sum diagonal from a square matrix (size NxN). For example: A = [1 2 3 4; 5 6 7 8; 9 0 1 2; 3 4 5 6]; %square matrix Then if you would rotate the matrix by 45 degrees and take sum of the rotated martix. Like: imrotate(A,45)
What I'm trying to do is to find the diagonal sum of A. Therefore I want to construct a vector of size 1x(N+2) or for this A = [1 2 3 4; 5 6 7 8; 9 0 1 2; 3 4 5 6] it would be an vector of size 1x6.
Could you please help me? :)

4 件のコメント

Azzi Abdelmalek
Azzi Abdelmalek 2012 年 9 月 18 日
what do you mean rotate 45°
Lily
Lily 2012 年 9 月 18 日
Like imrotate(A,45)
Jan
Jan 2012 年 9 月 18 日
Do you mean 90 deg instead of 45 deg?
Honglei Chen
Honglei Chen 2012 年 9 月 18 日
I don't quite get it. Are you saying you want the sum along each diagonal? But if so, why is the resulting vector 1x(N+2)? Shouldn't it be 1x(2*N-1)? Could you post the desired answer for your sample matrix?

サインインしてコメントする。

 採用された回答

Thomas
Thomas 2012 年 9 月 18 日

0 投票

YOu could use
sum(diag(A))
this is essentially
trace(A)
What does rotation by 45 mean

2 件のコメント

Lily
Lily 2012 年 9 月 18 日
編集済み: Lily 2012 年 9 月 18 日
Like if I would imrotate(A,45)
Thomas
Thomas 2012 年 9 月 18 日
IF you use imrotate(A,45) you get a 9x9 matrix and not the 4x4 matrix you started with..

サインインしてコメントする。

その他の回答 (1 件)

Wayne King
Wayne King 2012 年 9 月 18 日
編集済み: Wayne King 2012 年 9 月 18 日

0 投票

Just use trace()
trace(A)

2 件のコメント

Lily
Lily 2012 年 9 月 18 日
Thx for the answer, but f I use trace(A) I only get the diagonal of the matrix A.
Wayne King
Wayne King 2012 年 9 月 18 日
It's easy to say in general what an NxN matrix looks like for a multiple of 90 degrees, but what does it look like for 45? For N>3, I'm not sure what that looks like without padding the matrix with zeros like imrotate

サインインしてコメントする。

カテゴリ

ヘルプ センター および File ExchangeOperating on Diagonal Matrices についてさらに検索

質問済み:

2012 年 9 月 18 日

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by