Superimposing matrices in a specific location

1 vue (au cours des 30 derniers jours)
Allie Feinberg
Allie Feinberg le 17 Oct 2019
Modifié(e) : Matt J le 18 Oct 2019
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

Réponse acceptée

Matt J
Matt J le 18 Oct 2019
Modifié(e) : Matt J le 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 commentaires
Allie Feinberg
Allie Feinberg le 18 Oct 2019
Thanks so much, this worked!
Matt J
Matt J le 18 Oct 2019
Modifié(e) : Matt J le 18 Oct 2019
Glad to hear it, but please Accept-click the answer to indicate this!

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Logical dans Help Center et File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by