Matrix Average beside the numbers

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

回答 (1 件)

Andrei Bobrov
Andrei Bobrov 2019 年 4 月 30 日

0 投票

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

カテゴリ

ヘルプ センター および File ExchangeOperating on Diagonal Matrices についてさらに検索

質問済み:

2019 年 4 月 30 日

回答済み:

2019 年 4 月 30 日

Community Treasure Hunt

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

Start Hunting!

Translated by