【发布时间】:2013-08-01 14:54:49
【问题描述】:
假设我有一个方阵 M:
M = [0 0 0 0 0 1 9; 0 0 0 0 0 4 4; 0 0 1 1 6 1 1; 0 1 2 9 2 1 0; 2 1 8 3 2 0 0; 0 8 1 1 0 0 0; 14 2 0 1 0 0 0]
0 0 0 0 0 1 9
0 0 0 0 0 4 4
0 0 1 1 6 1 1
M = 0 1 2 9 2 1 0
2 1 8 3 2 0 0
0 8 1 1 0 0 0
14 2 0 1 0 0 0
现在我想计算两个不同的累积和:一个从每列的顶部到列的元素,即矩阵的对角线元素,另一个从列的底部开始到同一个对角线元素。
因此得到的矩阵M'应该如下:
0 0 0 0 0 1 9
0 0 0 0 0 4 5
0 0 1 1 6 2 1
M' = 0 1 3 9 4 1 0
2 2 8 5 2 0 0
2 8 1 2 0 0 0
14 2 0 1 0 0 0
我希望对我想要达到的目标的解释足够通俗易懂。由于我的矩阵比本示例中的矩阵大得多,因此计算也应该是高效的......但到目前为止,我什至无法弄清楚如何“低效”地计算它。
【问题讨论】:
-
你的矩阵总是正方形的吗?
-
是的,它们总是方形的
-
您是否介意清除“从每列顶部到列元素的一个,即矩阵的对角线元素,以及从列底部到相同的对角线元素。”我相信我有一个解决方案,但这让我感到困惑。所以它将所有元素从列的顶部向下添加到但不包括对角线,并且从底部向上添加到但不包括对角线?
-
是的,这听起来像一回事……抱歉我的解释不准确。如果你得到
M'作为答案,它应该是正确的。 -
顺便说一下,矩阵的从左下角到右上角的元素被称为anti-diagonal,而不是从左上角到右下角的对角线.