总结数组元素

5视图(30天)
Bathrinath
Bathrinath 2013年7月25日
编辑: 每•艾萨克森 2021年9月11日
你好,
我新的编程,我有一个数组p = [3 6 2 5];
我需要c = [3 9 11 16];第一个元素的数组,当它到下一个元素和前一个元素。
问候,SBN
1评论
1月
1月 2013年7月25日
这是一个作业的问题吗?

登录置评。

答案(4)

塞德里克Wannaz
塞德里克Wannaz 2013年7月25日
编辑:塞德里克Wannaz 2013年7月25日
嗨,使用CUMSUM:
> > p_csum = cumsum (p)
p_csum =
3 9 11日16
2的评论
塞德里克Wannaz
塞德里克Wannaz 2013年7月25日
编辑:塞德里克Wannaz 2013年7月25日
你试着建立一个解决方案基于一个FOR循环?到目前为止你实现了什么?

登录置评。


埃文
埃文 2013年7月25日
编辑:埃文 2013年7月25日
帮助cumsum
> > s = cumsum (p)
s =
3 9 11日16
1评论
Bathrinath
Bathrinath 2013年7月25日
由于它的工作原理。你能给解决方案在for循环。

登录置评。


安德鲁Reibold
安德鲁Reibold 2013年7月25日
编辑:安德鲁Reibold 2013年7月25日
这是您的解决方案在一个非常简单的循环。
p = [3 6 2 5];%可以有你想要尽可能多的数据
n = 2:长度(p)% n可以任何你想要的计数器。
p (n) = p (n) + p (n - 1);%分号抑制输出
结束
非常温柔
1评论
Bathrinath
Bathrinath 2013年7月25日
由于它的工作原理

登录置评。


伊恩•
伊恩• 2013年7月25日
编辑:伊恩• 2013年7月25日
i = 1:元素个数(p)
c (i) = (p(1:我))总和;
结束
so_far = 0;
i = 1:元素个数(p)
so_far = so_far + p (i);
c (i) = so_far;
结束
i = 1:元素个数(p)
s = 0;
j = 1:我
s = s + p (j);
结束
c (i) = s;
结束
1评论
1月
1月 2013年7月25日
这些都是低效率的解决方案,因为在每一次迭代完金宝搏官方网站成金额计算。虽然这可能无关紧要4元素,运行时将会更长时间的快速增长数据。
更有效的重用和为1的元素,当之和,直到我+ 1。th元素。看到安德鲁回答。

登录置评。

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!