type if x is a square matrix statement
35 次查看(过去 30 天)
显示 更早的评论
Hi, How do I write the script for "If x is a square matrix funcz will be the 0"?
Thanks!
1 个评论
Jan
2017-10-27
A bullet-proof solution is not trivial. Therefore this question is more interesting than it looks like on first glance.
回答(3 个)
Jan
2017-10-26
编辑:Jan
2017-10-26
funcz = ~ismatrix(x) || (size(x, 1) ~= size(x, 2));
or with Matlab versions before R2010b:
funcz = (ndims(x) ~= 2) || (size(x, 1) ~= size(x, 2));
This rejects [0 x 1] matrices, but is is questionable, if an empty matrix can be non-square.
To reply funcz=0 for vectors:
funcz = (ndims(x) ~= 2) || all(size(x) ~= 1);
or with modern Matlab versions:
funcz = ~isvector(x)
0 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Classification Trees 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!