If `A` and `B` are arrays, then Matlab can compute `A+B` and
`A-B` *when these operations are defined*.
For example, consider the following commands:

>> A = [1 2 3;4 5 6;7 8 9]; >> B = [1 1 1;2 2 2;3 3 3]; >> C = [1 2;3 4;5 6]; >> whos Name Size Bytes Class A 3x3 72 double array B 3x3 72 double array C 3x2 48 double array Grand total is 24 elements using 192 bytes >> A+B ans = 2 3 4 6 7 8 10 11 12 >> A+C ??? Error using ==> + Matrix dimensions must agree.Matrix multiplication is also defined:

>> A*C ans = 22 28 49 64 76 100 >> C*A ??? Error using ==> * Inner matrix dimensions must agree.If

`A^m`

is the product of However, no notion of multiplication is defined for multi-dimensional arrays with more than 2 dimensions:

>> C = cat(3,[1 2;3 4],[5 6;7 8]) C(:,:,1) = 1 2 3 4 C(:,:,2) = 5 6 7 8 >> D = [1;2] D = 1 2 >> whos Name Size Bytes Class C 2x2x2 64 double array D 2x1 16 double array Grand total is 10 elements using 80 bytes >> C*D ??? Error using ==> * No functional support for matrix inputs.By the same token, the exponentiation operator

`^`

is only defined for
square 2-dimensional arrays (matrices).

Wed Sep 8 10:44:13 EDT 1999