Matrix Average beside the numbers

1 view (last 30 days)
Lucy Hannah
Lucy Hannah on 30 Apr 2019
Answered: Andrei Bobrov on 30 Apr 2019
After creating a matrix of order MxM it will then output a new matrix in which each element is calculated from the original matrix by finding the average of each element adjacent (horizontally, vertically and diagonally) to the original element including the element itself. Each matrix element in the output should have 2 decimal places.
For example M=3 then matrix is [1,2,3;6,5,4;7,8,9]
element ?(1,1) = (1 + 2 + 6 + 5)/ 4 = 3.5
?(1,2) = (1 + 2 + 3 + 6 + 5 + 4) /6 = 3.5

Answers (1)

Andrei Bobrov
Andrei Bobrov on 30 Apr 2019
M =[ 1 2 3
6 5 4
7 8 9];
X = conv2(M,ones(3),'same')./conv2(ones(3),ones(3),'same');

Categories

Find more on Operating on Diagonal Matrices in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!