For example
x = [1 2 3 4 5 6; 7 8 9 10 11 12;13 14 15 16 17 18;1 2 3 4 5 6]
I want sum of [1 2 3 7 8 9] which is = 72 and [4 5 6 10 11 12 15 16 17 18] which is 114 , then [1 2 3 1 1 1 2 4 3] which is 18 and so on

2 commentaires

Azzi Abdelmalek
Azzi Abdelmalek le 1 Mar 2014
Modifié(e) : Azzi Abdelmalek le 1 Mar 2014
This is not clear. What and so on means here?
renuka
renuka le 2 Mar 2014
for 600x600 matrices the pattern should be sum of 3x3 and produce a matrix of the sum example [72 114 18]

Connectez-vous pour commenter.

 Réponse acceptée

Image Analyst
Image Analyst le 2 Mar 2014

0 votes

I just answered this, in http://www.mathworks.com/matlabcentral/answers/119568#comment_199374, your duplicate question. Anyway, again, you can use conv2():
result = conv2(x, ones(3), 'valid');
It gives you just what you want - the sums in a sliding window.

2 commentaires

renuka
renuka le 2 Mar 2014
this answer is for the previous one. But in this question its
x = [1 2 3 4 5 6; 7 8 9 10 11 12;13 14 15 16 17 18;1 2 3 4 5 6] sum of [1 2 3 7 8 9] = 30 and [4 5 6 10 11 12] = 48 and [13 14 15 1 2 3] = 48 and [ 16 17 18 4 5 6] = 66
the result = [30 48; 48 66]
x = [1 2 3 4 5 6; 7 8 9 10 11 12;13 14 15 16 17 18;1 2 3 4 5 6]
theSums = conv2(x, ones(2,3), 'same') % Compute sums
theResult = theSums(1:2:end, 2:3:end) % Subsample

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Startup and Shutdown dans Centre d'aide et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by