gpt4 book ai didi

matlab - 在 Matlab 中按间隔添加数据

转载 作者:太空宇宙 更新时间:2023-11-03 19:55:19 25 4
gpt4 key购买 nike

您好,我在 MATLAB 中有这样的数据:

F =

1.0000 1.0000
2.0000 1.0000
3.0000 1.0000
3.1416 9.0000
4.0000 1.0000
5.0000 1.0000
6.0000 1.0000
6.2832 9.0000
7.0000 1.0000
8.0000 1.0000
9.0000 1.0000
9.4248 9.0000
10.0000 1.0000

我正在寻找一种方法来对特定时间间隔内的数据求和。例如,如果我希望我的采样间隔为 1,那么最终结果应该是:

F=

1.0000    1.0000
2.0000 1.0000
3.0000 10.0000
4.0000 1.0000
5.0000 1.0000
6.0000 10.0000
7.0000 1.0000
8.0000 1.0000
9.0000 10.0000
10.0000 1.0000

即数据基于对第一行的采样在第二列中累积。 MATLAB 中是否有执行此操作的函数?

最佳答案

通过组合 histc()accumarray() 是的:

F =[1.0000    1.0000;...
2.0000 1.0000;...
3.0000 1.0000;...
3.1416 9.0000;...
4.0000 1.0000;...
5.0000 1.0000;...
6.0000 1.0000;...
6.2832 9.0000;...
7.0000 1.0000;...
8.0000 1.0000;...
9.0000 1.0000;...
9.4248 9.0000;...
10.0000 1.0000];

range=1:0.5:10;

[~,bin]=histc(F(:,1),range);

result= [range.' accumarray(bin,F(:,2),[])]

如果您运行代码,请记住我将采样间隔 (range) 更改为 0.5。

此代码适用于所有采样间隔,只需将您想要的间隔定义为 range

关于matlab - 在 Matlab 中按间隔添加数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30868634/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com