说我有一个矩阵
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更大更可变(比如一千个元素),我该怎么做呢?我该怎么编程?
我已经在这两天挣扎了......提前感谢...
一个简单的方法是将原始数组重新整形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)