matlab中有没有什么命令可以让矩阵中所有元素相加啊

如题所述

sum函数可以实现目标。

S1 = sum(A)

如果A是行向量或者列向量,该代码可得到A中所有元素的和。

如果A是矩阵,该代码可得到一个行向量,该行向量每个元素对应每一列所有元素的和。

S2 = sum(sum(A))

在上述基础上,如果对A的每一列求和得到的行向量继续运用sum行数,即可得到A中所有元素的和。

实例:A是一个3*3的全为1的矩阵,对A中所有元素求和:

扩展说明:

sum函数是求和函数。

举例:S1 = sum(A)

如果A是行向量或者列向量,该代码可得到A中所有元素的和。

如果A是矩阵,该代码可得到一个行向量,该行向量每个元素对应每一列所有元素的和。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2009-12-16
sum(A)是将A的元素逐行相加,sum(A,2)获得逐列相加的结果,而sum(A,1)跟sum(A)效果一样。

例如
>> A=randn(5)

A =

-0.2340 0.6232 0.2379 0.3899 -0.9499
0.1184 0.7990 -1.0078 0.0880 0.7812
0.3148 0.9409 -0.7420 -0.6355 0.5690
1.4435 -0.9921 1.0823 -0.5596 -0.8217
-0.3510 0.2120 -0.1315 0.4437 -0.2656

>> B=sum(A)

B =

1.2918 1.5831 -0.5611 -0.2735 -0.6871

>> sum(B,2)

ans =

1.3532
死办法 就是自己写个for循环了
第2个回答  推荐于2017-09-20
比如您要求A矩阵中所有元素的和:
A =

1 3 4
4 7 8
0 4 8

sum(A(:))

ans =

39

即可。本回答被提问者采纳
第3个回答  2009-12-16
sum(sum(A))
第4个回答  2009-12-16
meiyou
相似回答