Main Content

plus, +

Add numbers, append strings



C = A + B adds arrays A and B by adding corresponding elements. If one input is a string array, then plus appends the corresponding elements as strings.

The sizes of A and B must be the same or be compatible. If the sizes of A and B are compatible, then the two arrays implicitly expand to match each other. For example, if one of A or B is a scalar, then the scalar is combined with each element of the other array. Also, vectors with different orientations (one row vector and one column vector) implicitly expand to form a matrix.

C = plus(A,B) is an alternate way to execute A + B, but is rarely used. It enables operator overloading for classes.


collapse all

Create an array, A, and add a scalar value to it.

A = [0 1; 1 0];
C = A + 2
C = 2×2

     2     3
     3     2

The scalar value is added to each entry of A.

Create two 1-by-3 string arrays, then append similarly located strings in the arrays.

s1 = ["Red" "Blue" "Green"]
s1 = 1x3 string
    "Red"    "Blue"    "Green"

s2 = ["Truck" "Sky" "Tree"]
s2 = 1x3 string
    "Truck"    "Sky"    "Tree"

s = s1 + s2
s = 1x3 string
    "RedTruck"    "BlueSky"    "GreenTree"

Create two arrays, A and B, and add them together.

A = [1 0; 2 4];
B = [5 9; 2 1];
C = A + B
C = 2×2

     6     9
     4     5

The elements of A are added to the corresponding elements of B.

Create a 1-by-2 row vector and 3-by-1 column vector and add them.

a = 1:2;
b = (1:3)';
a + b
ans = 3×2

     2     3
     3     4
     4     5

The result is a 3-by-2 matrix, where each (i,j) element in the matrix is equal to a(j) + b(i):

a=[a1a2],b=[b1b2b3],          a+b=[a1+b1a2+b1a1+b2a2+b2a1+b3a2+b3].

Create an array, A, and add a column vector to it. The vector is treated as though it is a matrix of the same size as A, so that each element in the vector is added to a row in A.

A = [1 2 3; 4 5 6]
A = 2×3

     1     2     3
     4     5     6

b = [10; 100]
b = 2×1


A + b
ans = 2×3

    11    12    13
   104   105   106

Input Arguments

collapse all

Operands, specified as scalars, vectors, matrices, or multidimensional arrays. Inputs A and B must either be the same size or have sizes that are compatible (for example, A is an M-by-N matrix and B is a scalar or 1-by-N row vector). For more information, see Compatible Array Sizes for Basic Operations.

  • If one input is a string array, then the other input can be numeric, character, string, or a cell array. In this case, plus converts the non-string input into a string array and then appends corresponding elements of the inputs.

  • Operands with an integer data type cannot be complex.

  • If one input is a datetime array, duration array, or calendarDuration array, then numeric values in the other input are treated as a number of 24-hour days.

Data Types: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical | char | string | datetime | duration | calendarDuration
Complex Number Support: Yes


  • For appending text, plus only operates on string arrays. Use the append function to append text in character vectors or cell arrays.

Extended Capabilities

GPU Code Generation
Generate CUDA® code for NVIDIA® GPUs using GPU Coder™.

Version History

Introduced before R2006a

expand all

Behavior changed in R2020b

Behavior changed in R2016b