MATLAB爱好者论坛-LabFans.com

MATLAB爱好者论坛-LabFans.com (https://www.labfans.com/bbs/index.php)
-   资料存档 (https://www.labfans.com/bbs/forumdisplay.php?f=72)
-   -   MATLAB:检查表的类型 (https://www.labfans.com/bbs/showthread.php?t=24055)

poster 2019-12-10 20:48

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

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

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



[B]回答:[/B]

要获取维数,请使用[URL="http://www.mathworks.com/help/techdoc/ref/ndims.html"]ndims[/URL]

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

所以你可以写

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

islogical(a)

[url=https://stackoverflow.com/questions/4026540]更多&回答...[/url]


所有时间均为北京时间。现在的时间是 22:50

Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.