Problem 796. Removing rows from a matrix is easy - but what about inserting rows?

Assume A is a 5-by-5 matrix. A([2,4],:) = [] is a quick way to remove rows 2 and 4. Can you find a quick way to insert rows into A?

You are given a n-by-m matrix A, a 1-by-p vector of indices IND, and either a scalar value (1-by-1) or a p-by-m matrix b to be inserted AFTER rows IND of A. In case of a scalar value it should fill the whole row. Note that IND may contain duplicate indices, which means that more than one row should be inserted after that specific row index.

For example:

   A = [1 1; 
        3 3; 
        4 4];
   IND = [1 3];
   b = [2 2; 
        5 5];

should become

   y = [1 1; 
        2 2; 
        3 3; 
        4 4; 
        5 5];

And

   A = [0 0; 
        1 1];
   IND = [1 1 2];
   b = NaN;

should become

   y = [0   0; 
        NaN NaN; 
        NaN NaN; 
        1 1; 
        NaN NaN];

Solution Stats

31.13% Correct | 68.87% Incorrect
Last Solution submitted on Oct 13, 2024

Problem Comments

Solution Comments

Show comments

Problem Recent Solvers211

Suggested Problems

More from this Author1

Problem Tags

Community Treasure Hunt

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

Start Hunting!