Matlab 将数组中的值与以前的值求和,并将其放入新矩阵中

Matlab 将数组中的值与以前的值求和,并将其放入新矩阵中,matlab,Matlab,我有一个类似于[1;2;3;4;5]的数组。 我想将每个值与以前的值求和,并生成一个新数组,如下所示: [1 ;3 ;6 ;10 ;15] 实矩阵比这个大,包含2000多个值。您正在寻找函数。它足够快吗?或者如果我写一个循环,它的计算速度会更快?@Cena:试试,使用profile或tictoc。我很确定cumsum会更快。cumsum现在比loop好。sum([[a1][0;a1(1:end-1)]),2)哪个更快?cumsum还是这个?不确定,为什么不自己对其进行基准测试?@Divakar:

我有一个类似于[1;2;3;4;5]的数组。 我想将每个值与以前的值求和,并生成一个新数组,如下所示: [1 ;3 ;6 ;10 ;15]
实矩阵比这个大,包含2000多个值。

您正在寻找函数。

它足够快吗?或者如果我写一个循环,它的计算速度会更快?@Cena:试试,使用
profile
tic
toc
。我很确定cumsum会更快。cumsum现在比loop好。
sum([[a1][0;a1(1:end-1)]),2)
哪个更快?cumsum还是这个?不确定,为什么不自己对其进行基准测试?@Divakar:这段代码会产生一个不同的结果。@Cena您能检查一下您的结果吗?应该是“[1;3;6;10;15]”吗?