Code covered by the BSD License  

Highlights from
Digital Karma: State Graphing

image thumbnail
from Digital Karma: State Graphing by Aman Siddiqi
Evolutionary Simulation, Interaction Graph

element_num2coordinate(matrix,ndx)
function coordinate = element_num2coordinate(matrix,ndx)
% element_num2coordinate(matrix,element_num)
% element number is also reffered to as index

siz=size(matrix);
nout = ndims(matrix);
if length(siz)<=nout,
  siz = [siz ones(1,nout-length(siz))];
else
  siz = [siz(1:nout-1) prod(siz(nout:end))];
end
n = length(siz);
k = [1 cumprod(siz(1:end-1))];
ndx = ndx - 1;
for i = n:-1:1,
  coordinate(i) = floor(ndx/k(i))+1;
  ndx = rem(ndx,k(i));
end

Contact us at files@mathworks.com