如何添加矩阵元素来创建新矩阵?

bel*_*ion 1 matlab

说我有一个矩阵

x = [1 2 3 4 ] 
Run Code Online (Sandbox Code Playgroud)

我想创建一个矩阵,添加两个元素并输出第三个?

y = [1+2 3+4]
y = [3 7]
Run Code Online (Sandbox Code Playgroud)

对于四个值,我可以做y = [x(1)+ x(2)x(3)+ x(4)].如果x更大更可变(比如一千个元素),我该怎么做呢?我该怎么编程?

我已经在这两天挣扎了......提前感谢...

Ben*_*_11 5

一个简单的方法是将原始数组重新整形x为包含k行的矩阵,k是你在一起求和的元素数量(这里2,抱歉我不知道如何解释这个),然后简单地调用sum这个矩阵它将计算每列的总和并将其输出到新的矢量中y.

例:

x = [1:10] 

block = 2

r = reshape(x,block,[])
Run Code Online (Sandbox Code Playgroud)

所以这里r看起来像这样:

r =

     1     3     5     7     9
     2     4     6     8    10
Run Code Online (Sandbox Code Playgroud)

因此sum,使用第一维调用会r产生以下结果:

y = sum(reshape(x,block,[]),1)

y =

     3     7    11    15    19
Run Code Online (Sandbox Code Playgroud)