Attempt to grow array along ambiguous dimension.
196 visualizaciones (últimos 30 días)
OCDER el 2 de Feb. de 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.