Attempt to grow array along ambiguous dimension.
183 views (last 30 days)
OCDER on 2 Feb 2019
A = zeros(3, 3, 3); % There are 27 elements in A in a 3x3x3 matrix
A(3^3+1) = 1;
%ERROR: Attempt to grow array along ambiguous dimension.
% Where do you want the 28th element to go?
% Do you want a 4x3x3, 3x4x3, or 3x3x4 matrix in the end?
Error is caused when you try to add an element to a matrix outside the original dimensions. Matlab automatically grows the array to make this happens, but in this case, it doesn't know which dimension to add your new value.
BUT, you shouldn't be growing arrays in the first place as it's a bad coding practice prone to slow codes. Essentially, Matlab has to copy your array to a new size and delete the previous array every time.