PDA

查看完整版本 : MATLAB:检查表的类型


poster
2019-12-10, 20:48
我想问一下如何检查变量是逻辑类型的表1x8还是8x1?我知道我可以像这样检查数组的类的逻辑:

strcmp(class(a),'logical') 我知道我可以得到这样的表大小:

[hw] = size(a); if(w==1 & h==8 | w==8 & h==1) 但是,如果桌子有两个以上的尺寸怎么办?如何获得尺寸数?



回答:

要获取维数,请使用ndims (http://www.mathworks.com/help/techdoc/ref/ndims.html)

numDimensions = ndims(a); 但是,您可以改为请求size返回单个输出,该输出是数组[sizeX,sizeY,sizeZ,...]并检查其长度。更好的是,您可以使用isvector (http://www.mathworks.com/help/techdoc/ref/isvector.html)来测试它是否为一维数组。

所以你可以写

if isvector(a) && length(a) == 8 disp('it''sa 1x8 or 8x1 array') end 最后,要测试逻辑性,编写起来会更容易

islogical(a)

更多&回答... (https://stackoverflow.com/questions/4026540)