簡體   English   中英

為什么將這個矩陣中的行求和給我 0?

[英]Why does summing the rows in this matrix give me 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) = 1A(1,end) = 0這使得colon:不可能創建一個向量,所以它的總和為零。 但它不是你想要的,我猜。

你應該想要的是

sum(A(1,:))

或關於整個矩陣,通過指定總和的維度,例如

sum(A,2)

ans =

     1
     2
     3
     4
     5
     6
     7
     8
     9
    10

編輯

如果要從不同的列索引開始,可以執行以下操作:

sum( A(rowIndex,firstColumnIndex:lastColumnIndex) )

while end可以用作相應列或行的最后一個索引的宏變量。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM