我正在为数据处理编写一些代码。要求是将数据(称为u_B(速度数据的5000个值)和P_B(5000个相关的功率数据)中的数据按速度分类到“箱”中,以便可以计算平均速度和每个垃圾箱内的电量。下面的代码只是试图获得速度为24-25m / s的“bin”。我期望发生的是代码循环通过u_B列表,检查每个速度是否在所需范围内,如果是,则将其与相应的功率值一起放入“bin”。我已经改变它以输出它认为在正确范围内的速度,并且它们似乎完全像我期望的那样,但是当最后输出bin时它不仅包含正确范围内的数据,但也是一整套不适合速度范围的其他数据。我无法理解为什么将其他数据添加到bin中。如果有人能发现我所缺少的东西,我将不胜感激。
i = 25;
inc = 1;
for n = 1:5000
if (u_B(n) >= (i-1)) && (u_B(n) < (i + 1))
disp(u_B(n))
bin(inc,1) = u_B(n);
disp(bin(inc,1))
bin(inc,2) = P_B(n);
inc = inc + 1
end
end
disp(bin)
这显示了if语句中的第一组输出,24.7s是速度u_B(n)和放入bin的值,它们与预期相同,0表示电源和2 for inc都很好。此列表继续,仅包含正确范围内的速度值。 screenshot of code and output
这显示了bin中输出的内容,前10个值是我想要的值,其余的都有较低的速度,因此不应该在bin中。 screenshot of code and output