MATLAB:检查表的类型

时间:2010-10-26 18:03:31

标签: variables matlab

我想问一下如何检查变量是表格1x8还是8x1类型的逻辑? 我知道我可以像这样检查数组的类:

strcmp(class(a),'logical')

我知道我可以像这样得到桌子的大小:

[h w] = size(a);
if(w==1 & h==8 | w==8 & h==1)

但是如果表有2个以上的维度呢?如何获得尺寸数量?

1 个答案:

答案 0 :(得分:3)

要获取尺寸数量,请使用ndims

numDimensions = ndims(a);

但是,您可以请求size返回单个输出,即数组[sizeX,sizeY,sizeZ,...],并检查其长度。更好的是,您可以使用isvector来测试它是否是一维数组。

所以你可以写

if isvector(a) && length(a) == 8
disp('it''s a 1x8 or 8x1 array')
end

最后,为了测试逻辑,它更容易编写

islogical(a)