I have a problem. I need to iterate through every element in an n-dimensional matrix in MATLAB. The problem is, I don't know how to do this for an arbitrary number of dimensions. I know I can say
for i = 1:size(m,1)
for j = 1:size(m,2)
for k = 1:size(m,3)
and so on, but is there a way to do it for an arbitrary number of dimensions?
You can use linear indexing to access each element.
for idx = 1:numel(array)
element = array(idx)
....
end
This is useful if you don't need to know what i,j,k, you are at. However, if you don't need to know what index you are at, you are probably better off using arrayfun()