为什么sum(X,1)是MATLAB中列的总和?

时间:2010-04-16 07:19:20

标签: matlab dimensions

>> X = [0 1 2
        3 4 5]

>> sum(X, 1)

ans =

     3     5     7

sum(X, 1)应按照1st维度()求和,按照文档说明:

  

S = SUM(X,DIM)总和   尺寸DIM。

但为什么它实际上与2nd维度()相加?

4 个答案:

答案 0 :(得分:26)

在我看来,它与其他一切完全一致。

sum(A,dim)沿着维度dim的方向总计

行计为“向下”,因此sum(A,1)总计“向下”。列数“向右”计算,因此sum(A,2)向右“加”。

另一种看待这种情况的方法是sum(A,dim)通过获取总和将维dim折叠为1。因此,沿着维度1求和的4x3阵列会折叠第一维,从而形成1x3阵列。

答案 1 :(得分:2)

http://www.mathworks.com/access/helpdesk/help/techdoc/ref/sum.html

  

B =总和(A,dim)总和   标量指定的A的维数   暗淡。昏暗输入是整数值   从1到N,其中N是数字   A中的尺寸。将dim设置为1   计算每列的总和,2到   总和行等

你的猜测和我一样好。

答案 2 :(得分:2)

1表示列, 根据{{​​3}}

  

B =总和(A,dim)总和   标量指定的A的维数   暗淡。       昏暗输入是从1到N的整数值,其中N是数字   A中的尺寸       将dim设置为1以计算每列的总和,将2设置为总和等等

答案 3 :(得分:0)

我认为关于此的Matlab文档非常清楚。它声明:

  

B = sum(A,dim)沿着标量dim指定的A维的总和。昏暗输入是从1到N的整数值,其中N是A中的维数。将dim设置为1以计算每列的总和,将2设置为总和等等。

欢迎您认为Matlab是错误的,但它不会改变!