Calling specific cells and averaging
1 view (last 30 days)
Show older comments
Edward Lannon
on 16 Nov 2020
Commented: Edward Lannon
on 16 Nov 2020
Hello,
I have a 3000X3000 matrix. I also have a list of coordinates that I would like to use to indicate which values to select and average all the selected values. I can't seem to do it. I attached an example of a list.
Thank you for your time.
Accepted Answer
Hrishikesh Borate
on 16 Nov 2020
Hi,
I understand that you want to calculate average of elements present at indices stored in the file “VisualVisualTest.mat”. This can be done using following code:-
visualTest = load('VisualVisualTest.mat');
a = magic(3000); %3000x3000 matrix
visualCordsall = visualTest.VisualVisualCordsall;
indicesMatrix = transpose(reshape(cell2mat(visualCordsall),2,[]));
sz = [3000, 3000];
ind = sub2ind(sz, indicesMatrix(:,1), indicesMatrix(:,2));
avgValue = mean(a(ind));
Where, avgValue stores the average value.
More Answers (0)
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!