Discover MakerZone

MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi

Learn more

Discover what MATLAB® can do for your career.

Opportunities for recent engineering grads.

Apply Today

Problem 1972. Convert matrix to 3D array of triangular matrices

Created by Matt Eicholtz

Given a 2D numeric array x in which each column represents the vectorized form of an upper triangular matrix, return a 3D array y containing the concatenated triangular matrices.

  • If the size of the input matrix x is MxN, then the size of the output matrix y is PxPxN, where M = sum(1:P)
  • You may assume that P<=100

Example

If

x = 1  7 13
    2  8 14
    3  9 15
    4 10 16
    5 11 17
    6 12 18

then

y(:,:,1) =  1  2  4
            0  3  5
            0  0  6
y(:,:,2) =  7  8 10
            0  9 11
            0  0 12
y(:,:,3) = 13 14 16
            0 15 17
            0  0 18

NOTE: If you are wondering why this seems like a strange task, it is inspired by a genotype->phenotype mapping I am doing in a genetic algorithm.

Problem Group

Solution Statistics

14 correct solutions 5 incorrect solutions
Last solution submitted on Nov 02, 2014