Чтобы получить количество измерений, используйте ndims
numDimensions = ndims(a);
Однако вместо этого вы можете запросить size
, чтобы вернуть один выход, который является массивом [sizeX,sizeY,sizeZ,...]
и проверьте его длину.Более того, вы можете использовать isvector
для проверки, является ли он массивом 1-й степени.
Таким образом, вы можете написать
if isvector(a) && length(a) == 8
disp('it''s a 1x8 or 8x1 array')
end
Наконец, для проверки на логичность, проще написать
islogical(a)