我正在尝试编写一个脚本,它取前两个数字的平均值并生成一个新列表。
例如,如果我有
a = [1,2,3,4],我希望它产生b = [1.5,2.5,3.5 ]
无论如何都要将两个端点添加到循环中?到目前为止,我有:
for i=1:m
betwn(i) = (values(i) + values(i+1))/2 %values is a list
if i = m
break
end
end
它看起来效果不好......
谢谢!
答案 0 :(得分:2)
a = [1,2,3,4],我希望它产生b = [1.5,2.5,3.5]
循环中没有必要
b = (a(1 : end - 1) + a(2 : end)) / 2;
另一种方式
b = a(1 : end - 1) + diff(a) / 2;
答案 1 :(得分:2)
另一种方式,
conv(a,[1 1]./2,'valid')