insert a small matrix inside a big matrix

i have a 1000 x 1000 matrix and a 45 x 45 matrix. both have random numbers. how can i insert the small matrix in the bigger one at a given location. lets say i want to insert the small matrix from 250 x 250 onwards. How do i do it ? I do not want the elements of the big matrix to become zero for all other places left after inserting the smaller matrix, i mean padding the small matrix with zeros wont be helpful in this case. Please assist.

Answers (1)

You do it like so. Suppose your 1000 x 1000 matrix is called big and your 45x45 matrix is called little.
big(250:294, 250:294) = little;

6 Comments

More generally:
startrow = 250;
startcol = 250;
endrow = startrow + size(little,1) - 1;
endcol = startcol + size(little,2) - 1;
big(startrow : endrow, startcol : endcol) = little;
Thanks Todd, this is exactly how i did but it gives an error : " Subscripted assignment dimension mismatch. "
Thanks walter. I realize my mistake. Your code works.
Since it works, you should Accept-click Todd's answer.
How did you get 250:294 in there?
250 to 294 is 45 places

Sign in to comment.

Categories

Asked:

on 25 May 2016

Commented:

on 4 Nov 2020

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!