Convert matrix to 3D array of triangular matrices - MATLAB Cody - MATLAB Central

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

Difficulty:Rate

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.

Solution Stats

41.2% Correct | 58.8% Incorrect
Last Solution submitted on Feb 25, 2025

Problem Comments

Solution Comments

Show comments

Group

Project Euler II Image
Project Euler II
  • 12 Problems
  • 51 Finishers

Problem Recent Solvers112

Community Treasure Hunt

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

Start Hunting!
Go to top of page