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.

Réponses (1)

Todd Leonhardt
Todd Leonhardt le 25 Mai 2016
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 commentaires

More generally:
startrow = 250;
startcol = 250;
endrow = startrow + size(little,1) - 1;
endcol = startcol + size(little,2) - 1;
big(startrow : endrow, startcol : endcol) = little;
Anvinder  Singh
Anvinder Singh le 25 Mai 2016
Thanks Todd, this is exactly how i did but it gives an error : " Subscripted assignment dimension mismatch. "
Anvinder  Singh
Anvinder Singh le 25 Mai 2016
Thanks walter. I realize my mistake. Your code works.
Matt J
Matt J le 25 Mai 2016
Since it works, you should Accept-click Todd's answer.
Alyssa Martinez
Alyssa Martinez le 20 Fév 2019
How did you get 250:294 in there?
oliver murray
oliver murray le 4 Nov 2020
250 to 294 is 45 places

Connectez-vous pour commenter.

Catégories

Community Treasure Hunt

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

Start Hunting!

Translated by