average of matrix cells
3 views (last 30 days)
Show older comments
what would be an efficient way to calculate the average of cells 1, cells2 , cells 3 from a matrix?
3 Comments
Voss
on 28 Jul 2023
By "cells 1", do you mean the elements that are 1? If so, their average will be 1.
Or by "cells 1", do you mean the elements around the outer edges of the matrix, which are labeled as 1 but actually contain other numbers?
I think a concrete example matrix and expected result would be very useful.
Accepted Answer
Voss
on 28 Jul 2023
Here are a couple of guesses:
1.
M = ones(7);
M(2:end-1,2:end-1) = 2;
M(3:end-2,3:end-2) = 3;
M(4,4) = 4
cells1avg = mean(M(M == 1))
cells2avg = mean(M(M == 2))
cells3avg = mean(M(M == 3))
2.
labels = M
M = randi(10,7,7)
cells1avg = mean(M(labels == 1))
cells2avg = mean(M(labels == 2))
cells3avg = mean(M(labels == 3))
0 Comments
More Answers (1)
Shubham
on 28 Jul 2023
Hi Ham,
To calculate the average of specific cells in a matrix in MATLAB, you can use the mean function along with indexing. Here's an example of how you can calculate the average of cells 1, 2, and 3 from a matrix:
% Create a sample matrix
matrix = [1 2 3; 4 5 6; 7 8 9];
% Calculate the average of cells 1, 2, and 3
average = mean(matrix(1:3));
% Display the result
disp(average);
In this example, the matrix is defined as a 3x3 matrix. By using indexing matrix(1:3), we select the first three elements from the matrix. Finally, the mean function calculates the average of those elements, and the result is displayed using disp.
0 Comments
See Also
Categories
Find more on Matrix Indexing 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!