查看此definition:
:总和(x,暗)
如果省略dim,则默认为第一个 非单维度。
我尝试了一些命令:
ON DUPLICATE KEY UPDATE
虽然这些结果在直觉上并不令我感到惊讶,但在我看来,结果#3与accepted answer的“第一个非单维度”的定义背道而驰。
只是为了确保它选择默认的>> sum([2,3,4]) % A matrix of size 1*3
ans = 9
>> sum([2;3;4;]) % A matrix of size 3*1
ans = 9
>> sum([2,3,4;2,3,4;2,3,4;]) % A matrix of size 3*3
ans =
6 9 12
作为dim
:
1
所以问题是接受的答案是否正确,默认情况下求和是否不应该按行进行(考虑矩阵为3 * 3,并且行维> 1)?
答案 0 :(得分:1)
Matlab中的矩阵具有维度(1 =行,2 =列,3 =深度,...)。 因此,对于矩阵
>> A = [2, 3, 4;
2, 3, 4;
2, 3, 4]
沿维度1的总和将是行元素的总和(向下)。 沿维度2的求和将沿着列(向右)等。
现在,还可以定义一个矩阵,该矩阵不具有行,而仅具有列和深度。然后,由于行维将为零,因此命令sum(A)将沿列求和。
>> A = zeros(0,3,3);
>> A(1,:,:) = [2, 3, 4; 2 3 4; 2 3 4]
>> sum(A)
ans(:,:,1) =
6
ans(:,:,2) =
9
ans(:,:,3) =
12