Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Arrays 为什么对这个矩阵中的行求和得到0?_Arrays_Matlab_Matrix_Sum - Fatal编程技术网

Arrays 为什么对这个矩阵中的行求和得到0?

Arrays 为什么对这个矩阵中的行求和得到0?,arrays,matlab,matrix,sum,Arrays,Matlab,Matrix,Sum,我首先使用命令A=[1:10]创建了一个数组A。 然后我创建了一个10x10的矩阵,只包含0。然后,我用我的A重写了这个矩阵,得到了这个新矩阵: A = 1 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0

我首先使用命令
A=[1:10]
创建了一个数组
A
。 然后我创建了一个10x10的矩阵,只包含0。然后,我用我的
A
重写了这个矩阵,得到了这个新矩阵:

A =

     1     0     0     0     0     0     0     0     0     0
     2     0     0     0     0     0     0     0     0     0
     3     0     0     0     0     0     0     0     0     0
     4     0     0     0     0     0     0     0     0     0
     5     0     0     0     0     0     0     0     0     0
     6     0     0     0     0     0     0     0     0     0
     7     0     0     0     0     0     0     0     0     0
     8     0     0     0     0     0     0     0     0     0
     9     0     0     0     0     0     0     0     0     0
    10     0     0     0     0     0     0     0     0     0
现在的问题是,当我运行命令
sum((A(1,1)):(A(1,end))
时,当我应该得到1时,我一直得到0,因为它是第一行的和。我试着在其他矩阵上运行相同的命令,他们给了我正确的答案,那么为什么它在这里不起作用呢

(A(1,1)):(A(1,end))
创建并清空数组,如
A(1,1)=1
A(1,end)=0
,这使得不可能创建向量,因此其和为零。但我想这不是你想要的

你应该想要的是

sum(A(1,:))
或者对于整个矩阵,通过指定和的维数,例如

sum(A,2)

ans =

     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
编辑 如果要从其他列索引开始,可以执行以下操作:

sum( A(rowIndex,firstColumnIndex:lastColumnIndex) )

end
可以用作相应列或行的最后一个索引的宏变量。

如果您想要第一行的和,您可以使用
sum(A(1,:)
您的表达式将转换为
sum((1):(0))
您的意思可能是
sum((A(1,1:end))
啊,我明白了,谢谢!然而,我正在运行一个循环,在每一行中添加数字,而不是从一开始,这只是第一行。从一行中的任何一点开始,我将如何对一行中的剩余数字求和?