Superimposing matrices in a specific location

1 view (last 30 days)
I have two matrices, one 1024x1024 and one 101x101. 95% of the matrices consists of zeros, besides the central circular parts which have values ranging between 0 and 1. When displayed, the matrices show a circle.
I want to superimpose the smaller matrix onto the larger matrix in a specific location from the origin of the larger matrix. How can I extract the values from the smaller matrix and superimpose them onto the larger matrix?
Thanks

Accepted Answer

Matt J
Matt J on 18 Oct 2019
Edited: Matt J on 18 Oct 2019
Something like this, perhaps:
[i0,j0]=deal(700,850); %target location
[I,J,S]=find(smallMatrix);
result = largeMatrix + accumarray([I-51+i0,J-51+j0], S ,[1024,1024]);
  2 Comments
Matt J
Matt J on 18 Oct 2019
Edited: Matt J on 18 Oct 2019
Glad to hear it, but please Accept-click the answer to indicate this!

Sign in to comment.

More Answers (0)

Tags

Community Treasure Hunt

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

Start Hunting!