说我有一个矩阵
x = [1 2 3 4 ]
我想创建一个矩阵,添加两个元素并输出第三个?
y = [1+2 3+4]
y = [3 7]
对于四个值,我可以做y = [x(1)+ x(2)x(3)+ x(4)]。 如果x更大更可变(比如一千个元素),我该怎么做呢?我该怎么编程?
我已经在这两天苦苦挣扎了...提前感谢...
答案 0 :(得分:5)
一种简单的方法是将原始数组x
重塑为一个包含k行的矩阵,k是你在一起求和的元素数(这里2,对不起,我不知道如何解释这个),然后只需在此矩阵上调用sum
,该矩阵将计算每列的总和并将其输出到新的矢量y
。
示例:
x = [1:10]
block = 2
r = reshape(x,block,[])
所以这里r
看起来像这样:
r =
1 3 5 7 9
2 4 6 8 10
因此,使用sum
上的第一维调用r
会产生以下结果:
y = sum(reshape(x,block,[]),1)
y =
3 7 11 15 19