MATLAB Answers


How can I use plus operation with more than 2 array

Asked by Wongnarin Kompor on 1 Feb 2016
Latest activity Commented on by David Young
on 3 Feb 2016
I try to plus with many array. For example plus(A,B,C,D,...Z) with A = [1,2,3:4,1,2] B = [3,5,6,:5,6,7] and so on and I've got this message
"??? Error using ==> plus Too many input arguments."
How can I solve this? Thank you in advance for your answer


plus is a binary operator, the documentation shows this and does not state otherwise. You will need to perform it multiple times.
Thank you for suggest me

Sign in to comment.


2 Answers

Answer by Walter Roberson
on 1 Feb 2016
 Accepted Answer

There is no way of doing that in MATLAB: you need to do a series of binary plus operations, A+B+C+....
You may wish to consider:
nd = ndims(A);
sum( cat(nd+1, A, B, C, .... Z), nd+1 )
Note: this code will not work if any of the elements are scalars, unless they are all scalars. All of the matrices need to be the same size for this code to work.


If the arrays are large, this makes extravagant use of memory.

Sign in to comment.

Answer by David Young
on 1 Feb 2016

Either use
A + B + C + D + Z
plus(A, plus(B, plus(C, plus(D, Z))))


Sign in to comment.