标签: variables matlab
我想问一下如何检查变量是表格1x8还是8x1类型的逻辑? 我知道我可以像这样检查数组的类:
strcmp(class(a),'logical')
我知道我可以像这样得到桌子的大小:
[h w] = size(a); if(w==1 & h==8 | w==8 & h==1)
但是如果表有2个以上的维度呢?如何获得尺寸数量?
答案 0 :(得分:3)
要获取尺寸数量,请使用ndims
ndims
numDimensions = ndims(a);
但是,您可以请求size返回单个输出,即数组[sizeX,sizeY,sizeZ,...],并检查其长度。更好的是,您可以使用isvector来测试它是否是一维数组。
size
[sizeX,sizeY,sizeZ,...]
isvector
所以你可以写
if isvector(a) && length(a) == 8 disp('it''s a 1x8 or 8x1 array') end
最后,为了测试逻辑,它更容易编写
islogical(a)