MATLAB:取一个列表中两个数字的平均值?(MATLAB: taking the average of two numbers in a list?)
我正在尝试编写一个脚本,它取前两个数字的平均值并生成一个新列表。
例如,如果我有
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
它看起来效果不好......
谢谢!!
i'm trying to write a script that takes the average of the first two numbers and produces a new list.
for example, if i have
a = [1,2,3,4], i want it to produce b = [1.5, 2.5, 3.5 ]
is there anyway of adding the two endpoints in to the loop? So far, I have:
for i=1:m
betwn(i) = (values(i) + values(i+1))/2 %values is a list
if i = m
break
end
end
and it doesn't seem to be working well...
Thanks!!
原文:https://stackoverflow.com/questions/26189277
2020-01-14 10:01
满意答案
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;
a = [1,2,3,4], i want it to produce b = [1.5, 2.5, 3.5 ]
There is no need in loop
b = (a(1 : end - 1) + a(2 : end)) / 2;
Another way
b =