i scoured the intertubes for over an hour to find an answer to the following query, but to no avail. no basic matlab tutorial sites seem to have an answer… eventually, i just broke down and asked a pro, who had a one-word answer. here is my expansion of that one-hand-clapping answer:

QUESTION

how do i add or subtract two matrices of different dimensions?

ANSWER

use the tiling/replicating function repmat to get them to be the required dimensions.

for example, i have a 2×1 matrix A and a 2×100 matrix B. i wish to add them (or subtract them):

> > result = A + B

normally, i would get a message complaining that “matrix dimensions must be the same”. and i could hack around this by splitting my 2×1 matrix into two scalars and dealing with the addition row-by-row. hardly a scalable solution. with repmat, the solution is simple:

> > result = repmat(A, 1, 100) + B %tile A 1 time vertically and 100 times horizontally

done.

__________

code used:

>> Q

Q =

4 4 4 4 4

5 5 5 5 5

>> P

P =

2

1

>> P+Q

??? Error using ==> plus

Matrix dimensions must agree.

>> repmat(P, 1, 5) + Q

ans =

6 6 6 6 6

6 6 6 6 6

\m/

17 July 2009 at 12:05 pm

interesting material, where such topics do you find? I will often go

15 December 2011 at 3:47 am

Мебелни къщи Ralica – мебели за дома и офиса, комплексно обзавеждане….[…]matrices of different dimensions in matlab « asocial studies[…]…