Think of multiplying by a matrix as mixing its columns. The entries of the vector tell you how many of each column to take.
So multiplying by i=(10) picks 1 of the first column and 0 of the second:
Mi=(acbd)(10)=1⋅(ac)+0⋅(bd)=(ac)
Multiplying by j=(01) picks 0 of the first column and 1 of the second:
Mj=(acbd)(01)=0⋅(ac)+1⋅(bd)=(bd)
Adding the inputs adds the mixes, so i+j takes one of each column:
M(i+j)=Mi+Mj=(ac)+(bd)=(a+bc+d)