MATLABの多次元配列で最大値(最小値)の場所を特定する方法

Mという4次元配列から最大値の場所を見つける例

M = randn(10,10,10,10);
[~,I]=max(M(:));
[I1,I2,I3,I4] = ind2sub(size(M),I)

最大値はM(I1, I2, I3, I4)となる。