通常要对矩阵中的所有元素求和
A = sum ( B(:) );
很简洁。但是,假设我们有一个像这样的逻辑表达式
B = B == 6
而我们想要对所有条目的元素求和,那么最聪明的方法似乎是做
A = sum ( sum ( B == 6 ) )
或
B = B == 6;
A = sum( B(:) );
都有点丑。所以我在想有没有更好的表达方式?
A = sum ( (B == 6)(:) );
可以,但是不行
那么简单的解决方案有什么不好呢…
A = sum(B(:) == 6);
我并不推荐这样做,但正如前面所示,您实际上可以这样做:
%# A = sum ( (B == 6)(:) )
A = sum( subsref(B == 6, struct('type','()', 'subs',{{':'}})) )