首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MATLAB中双矩阵的n-1列和

MATLAB中双矩阵的n-1列和
EN

Stack Overflow用户
提问于 2015-06-16 21:19:53
回答 2查看 78关注 0票数 0

我有一个1*3000双矩阵。我正在做一些计算,我需要在每一步中计算n-1列的和。

例如,如果我有这个矩阵:

代码语言:javascript
复制
A = [1 2 3 4 5 6]

我要找的总和应该是这样的:

代码语言:javascript
复制
B = [0 1 1+2 1+2+3 1+2+3+4 1+2+3+4+5] = [0 1 3 6 10 15]

这意味着,在每个步骤中,我们计算矩阵的n-1列之和,而n从1开始计算矩阵的列数。

因为列数是3000,所以我不能使用'for‘循环。

你能告诉我该怎么做吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-06-16 21:25:29

您可以通过使用函数cumsum来做到这一点。

代码语言:javascript
复制
A = [1 2 3 4 5 6];
C = cumsum(A);
out = [0 C(1:end-1)]

现在out是:[0 1 3 6 10 15]

票数 2
EN

Stack Overflow用户

发布于 2015-06-16 21:33:40

如果只需要B的一个值,则可以使用sum(A(1:n))计算该值。如果你需要计算所有的3000值的B,我认为你会做好一个for循环。如果使用以下方法,则3000次迭代并不多:

代码语言:javascript
复制
A = 1:3000;
B = zeros(1, 3000);
B(1) = A(1);
for i = 2:3000
    B(i) = B(i-1) + A(i);
end
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30878413

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档