FOR循环

22次观看(过去30天)
Mayu
Mayu 2011年12月12日
假设有一个有n行数的行向量。
例:[0 27 29 45 66]';
如何使用FOR循环编写一个命令,将第一个元素与第二个元素相加,然后将第二个元素与第三个元素相加,以此类推,直到达到“n”行数。
最后把所有答案加起来。
就像:(0 + 27)+(27 + 29)+(29 + 45)……等等。
我只是一个MatLab的初学者,花了几个小时试图弄清楚这个。希望你们能帮忙。提前谢谢你的帮助。: D

接受的答案

安德烈Bobrov
安德烈Bobrov 2011年12月12日
差异= 0;
i1 = 1:元素个数(a) 1;
Aout = Aout + a(i1) + a(i1+1);
结束
没有循环 为结束. .
n =元素个数(个)
差异=总和((1:n - 1) + (2: n))
3评论
肖恩·德Wolski
肖恩·德Wolski 2011年12月12日
差异(结束)

登录发表评论。

更多的答案(2)

Shouvik Das
Shouvik Das 2011年12月12日
考虑到您需要将每个中间输出存储在另一个数组中。设有n行的输入数组为inputArray
outputArray = [];
i = 1:长度(inputArray) 1
outputArray (i) = inputArray(我)+ inputArray (i + 1);
结束
希望这个有帮助。
问候Shouvik
1评论
Mayu
Mayu 2011年12月12日
Thanks,非常好用

登录发表评论。


Anurag普拉塔普辛格
Anurag普拉塔普辛格 2020年6月25日
嗨Mayu
你可以使用一个额外的数组来存储每个输出比如addArr数组然后添加addArr的每个元素。
addArr = [];
i = 1:长度(inputArr)
addArr (i) = inputArr(我)+ inputArr (i + 1);
结束
然后添加addArr的每个元素
结果= 0;
i = 1:长度(addArr)
结果=结果+ addArr(我);
结束
结果变量具有输入数组中所有元素的累加和。
谢谢你!

社区寻宝

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

开始狩猎!