开发者

MATLAB: Checking type of table

开发者 https://www.devze.com 2023-01-21 21:21 出处:网络
I want to ask how to check if a variable is table 1x8 or 8x1 of type logical? I know I can check the class of an array for logical like this:

I want to ask how to check if a variable is table 1x8 or 8x1 of type logical? I know I can check the class of an array for logical like this:

strcmp(class(a),'logical')

I know I can get the size of table like this:

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

But what if table has more than 2 dimensions? How can I开发者_JS百科 get number of dimensions?


To get the number of dimensions, use ndims

numDimensions = ndims(a);

However, you can instead request size to return a single output, which is an array [sizeX,sizeY,sizeZ,...], and check its length. Even better, you can use isvector to test whether it's a 1-d array.

So you can write

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

Finally, to test for logical, it's easier to write

islogical(a)
0

精彩评论

暂无评论...
验证码 换一张
取 消