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)
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)