How to Add Rows to Matrix in MATLAB

MATLAB has an extensive library of functions for processing matrices and solving mathematical operations of all kinds. It also provides functions and tools for creating 2D and multidimensional arrays.

When we use this powerful programming environment for scientific calculations and work with functions that process more than one array in their input arguments, the size of the arrays must be compatible or have the same size in relation to each other. Two arrays with different sizes in the input arguments of the same function can lead to errors.

Therefore, sometimes it is convenient to add a row or column to an array to match their sizes. Also, in cases where we need to expand the array to add more data, it is convenient to add rows as needed. In this MATLAB article, we explained in detail how to add rows to a matrix using a few lines of code. We also go over with the size and data type compatibility of the different arrays seen in the input argument of the same function.

To help you better understand this article on adding rows to a matrix, we have prepared several practical examples with code fragments and images that show this technique in different cases, matrices, and application modes.

How to Expand a Matrix in MATLAB Methods and Tools

MATLAB has several methods for expanding matrices. One of the simplest is to create a vector with the same number of elements as the dimension we want to expand to and add that vector to the array. This method gives us the possibility to add previously specified data in this new row or column, which is why it is sometimes the best solution.

Another way to expand a matrix is to add an element that crosses dimensions. In this case, Matlab adds a new element to the matrix and fills the other elements of the new row or column with zeros.

These methods are convenient when we need to add a single row or column to our matrix. In cases where the number of rows or columns we want to add is more than 1, the solution is to create a new matrix with the number of rows and columns we want to add and concatenate it with the matrix we want to expand.

Next, we will look at each of these methods and see some practical examples of each of them.

Example 1: How to Add a Row to a Matrix in MATLAB Using Concatenation with Square Brackets

In this example, we will see how to append a row to the end of an array using the bracket concatenation method. For this purpose, we create the matrix “m” with 4 rows x 5 columns and the vector “v” representing the row we want to add. This vector must have the same number of elements as the dimension of the matrix “m” with which it will be concatenated in a single array.

m = [ 1, 2, 3, 4, 5 ;

6, 7, 8, 9, 10;

11, 12, 13, 14, 15;

16, 17, 18, 19, 20 ];

v = [ -15, -2, -45, -47, -99 ];

The following code snippet shows how to add the vector “v” to the array “m” using concatenation with square brackets.

x = [ m ; v ]

In this type of concatenation, the matrix to be expanded and the corresponding row vector must be enclosed in square brackets and separated by a semicolon. In the following figure, you can see the resulting matrix in the MATLAB command console.

As we can see in the image, the vector “v” is concatenated at the end of the matrix “m” and forms the fifth row. In cases where the row we want to add to the array must be concatenated in the first place, we just need to reverse the order of the arguments enclosed in square brackets.

v = [ 15, 2, 45, 47, 99 ] ;

x = [ v ; m ]

As we see in the following image, if we reverse the order of the arguments enclosed in square brackets, the concatenation order is reversed, so the vector “v” is added to the first row of the matrix “m”.

The same method is used when we want to add multiple rows to a matrix. In this case, we would concatenate two matrices together.


Example 2: How to Add Rows to an Array by Applying Elements that Exceed its Size

In the previous example, we saw how to add rows to a matrix using the concatenation method with square brackets. In this example, we will see how to add rows by placing a single element outside the dimensions of the array. In this case, the element will be given the value we assign to it and the remaining spaces will be filled with elements with the value 0. This method is the same as the one used to assign a value to a specific element of an array but in this case the element coordinates should be one row beyond the size of the array. Next, we read the code snippet to add rows to an array using this method.

m = [ 1, 2, 3, 4, 5 ;

6, 7, 8, 9, 10;

11, 12, 13, 14, 15;

16, 17, 18, 19, 20 ];

m ( 5, 5 ) =11 %Here we add an element in row 5, from column 5

When you add an element to a row that does not already exist, MATLAB creates a new row by assigning the value 11 to the new element and padding the remaining elements with zeros.



The sizes and shapes of the matrices we work with must be considered when programming in MATLAB, since a difference in the number of elements in the rows or columns of these matrices can lead to size incompatibility errors.

In this article, we have explained how to add rows to a matrix in MATLAB. We have used practical examples to show the various methods available to us in this calculus language for this purpose. We have also looked at how you can concatenate arrays or extend them by adding a single element, and we have shown you which solution is the most practical in each case. We hope you found this MATLAB article helpful. See other Linux Hint articles for more tips and information.

About the author

Julio Cesar

Julio Cesar is a 42 years old programmer with 8 years of experience in embedded systems development, 6 years developing firmware for user interfaces in C and C++. Additionally he has 2 years of experience developing scripts for network devices and 3 years as developer of high frequency PCB (Printed Circuit Board).