Vectorized Diagonal of any Multi-Dimensional Matrix

Given an N-D matrix, this routine will return the diagonal elements of any two dimensions

You are now following this Submission

Suppose you have a matrix which was generated by the following MATLAB command:
>> ND = repmat(diag(1:3),[1 1 2 2 1 2]);
The size of this matrix is found to be: [3 3 2 2 1 2]

This routine can return the diagonal terms of this matrix simply by specifying the row dimension and the column dimension of the 2-D plane of interest:
>> dND = diagND(ND,1,2);

The resulting Matrix, dND, has the following size [1 3 2 2 1 2] and the expected solution of:
[1 2 3] across dimensions 3 through 6.

Cite As

Darin Koblick (2026). Vectorized Diagonal of any Multi-Dimensional Matrix (https://uk.mathworks.com/matlabcentral/fileexchange/49067-vectorized-diagonal-of-any-multi-dimensional-matrix), MATLAB Central File Exchange. Retrieved .

General Information

MATLAB Release Compatibility

  • Compatible with any release

Platform Compatibility

  • Windows
  • macOS
  • Linux
Version Published Release Notes Action
1.0.0.0