【发布时间】:2014-05-24 23:47:15
【问题描述】:
我有一个数据向量448X2,其中第一列对应于距离(从 -50 到 224),第二列包含与每个距离相关的强度。
无论方向如何(正/负),我都需要添加所有距离内的强度。例如,我想添加 1 的间隔。因此,如果在 [-1 1] 距离范围内有 5 个值,我需要添加它们的所有强度。然后,从 [-2 -1] & [1 2] 距离等,等等,...
我首先将数据从 0 缩短到 224
datasort = sortrows(abs(data));
这需要负数的蛋糕。现在我的数据按距离按递增顺序排序,我不知道如何在距离间隔内添加强度。
这些是我的datasort 向量的前 10 行:
0.119865417480469 0.0115106217563152
0.669918060302734 0.356697350740433
0.909893035888672 0.659623980522156
1.45951080322266 1.69302666187286
1.70020294189453 2.30387997627258
2.24539566040039 3.98834538459778
2.49082183837891 4.94714736938477
3.02403259277344 7.16749382019043
3.28177261352539 8.59203147888184
3.79549789428711 11.1872768402100
我想得到这样的结果:
1 1.02780000000000
2 3.99690000000000
3 8.93550000000000
4 26.9468000000000
第一列现在包含从 1 到 224 (1:224) 的离散距离值,第二列包含距离范围内所有强度的总和。
我希望我已经足够清楚了。谢谢
更新:
我认为我可以做到:
datasort(:,1) = round(datasort(:,1));
这给了我(前 10 分),
0 0.0115106217563152
1 0.356697350740433
1 0.659623980522156
1 1.69302666187286
2 2.30387997627258
2 3.98834538459778
2 4.94714736938477
3 7.16749382019043
3 8.59203147888184
4 11.1872768402100
我仍然不知道如何添加相同距离的强度!!!
【问题讨论】: