如何分类价值和情节

问题描述 投票:-1回答:1

我有一个包含两列的数据集,第一列是持续时间(时间长度(例如5分钟),第二列是点火率。是否可以根据相应的持续时间对点火速率进行分箱)例如5,10,15分钟),然后在y轴上绘制具有激发速率的条,在x轴上绘制时间。

matlab plot bar-chart
1个回答
1
投票

我确信这可以在没有for循环的情况下完成。下面的解决方案使用discretize函数来完成分组。其他方法可行。

% MATLAB R2017a
% Sample data
D = 20*rand(25,1);
FR = 550*rand(25,1);
D_bins = (0:5:20)';

ind = discretize(D,D_bins);                % groups data
FR_mean = zeros(length(D_bins),1);
for k = 1:length(D_bins)
    FR_mean(k) = mean(FR(ind==k));
end

bar(D_bins,FR_mean)                        % bar plot


% Cosmetics
xlabel('Duration (min)')
ylabel('Mean Firing Rate (unit)')

我很肯定有一个更有效的方法来获得每个组的手段,可能使用arrayfun或其他一些漂亮的功能,但是会暂停,直到OP提供更多细节。

© www.soinside.com 2019 - 2024. All rights reserved.