matlab中sum函数求和
sum(x,2)表示矩阵x的横向相加,求每行的和,结果是列向量。
而缺省的sum(x)就是竖向相加,求每列的和,结果是行向量。
A>0的结果是得到一个逻辑矩阵,大小跟原来的A一致,
A中大于零的元素的位置置为1,小于等于零的位置置为0。
所以横向求和以后,就是求A中每行大于零的元素个数。
例如
>> A=randn(5)
A =
-0.4326 1.1909 -0.1867 0.1139 0.2944
-1.6656 1.12 0.7258 1.0668 -1.3362
0.1253 -0.0376 -0.5883 0.0593 0.7143
0.2877 0.3273 2.1832 -0.0956 1.6236
-1.1465 0.1746 -0.13 -0.8323 -0.6918
>> sum(A)
ans =
-2.8316 2.8444 >> sum(A>0)
ans =
2 4 2 3 >> sum(A<0)
ans =
3 1 3 2 >> sum(A,2)
ans =
0.9800
1.9976 3
2
0.3120 0.6043
-0.0200
0.2730
4.3261
-2.6324
>> sum(A>0,2)
ans =
3
3
3
4
1
sum(A<0,2)
ans =
2
2
2
1
4