要求矩阵中所有元素的总和
A = sum ( B(:) );
这很好而且很短。但是假设我们有一个像这样的逻辑表达式
B = B == 6
我们想要总结所有条目的元素,然后最聪明的方式似乎是
A = sum ( sum ( B == 6 ) )
或
B = B == 6;
A = sum( B(:) );
两者都有点难看。所以我想知道有更好的表达吗?
A = sum ( (B == 6)(:) );
会很好但不起作用。
答案 0 :(得分:3)
那么简单的解决方案是多么令人讨厌...
A = sum(B(:) == 6);
答案 1 :(得分:0)
不是我推荐这个,但是如previously所示,您实际上可以执行以下操作:
%# A = sum ( (B == 6)(:) )
A = sum( subsref(B == 6, struct('type','()', 'subs',{{':'}})) )