arrays - 在matlab中将频率表转换为原始数据
问题描述
我有一个 2 列矩阵:第 1 列有事件(以整数的形式),第 2 列计算这些事件发生的频率。我想把它变成原始数据,实际上是tabulate()
. 即转[0 4; 1 2; 2 2; 3 1; 4 0] 到 [0 0 0 0 1 1 2 2 3]。有任何想法吗?干杯。
解决方案
如果你有
a = [0 4; 1 2; 2 2; 3 1; 4 0];
然后你可以简单地使用第二列作为重复次数,第一列作为值repelem
b = repelem( a(:,1), a(:,2) ).';
% >> b = [0 0 0 0 1 1 2 2 3]
使用.'
as 可选将结果从列转置为行。
推荐阅读
- python - python reduce函数返回false以检查列表中的相同元素
- c# - 如何修复 SqlException:列名无效
- wso2 - wso2is 添加新租户时的租户管理问题
- shell - 如何使用脚本更改 Xcode 11 中的构建设置版本控制?
- flutter - 是否可以查看我们之前在 Flutter 上的导航页面?
- python - 使用 matplotlib 修改直方图中的 x 轴标签
- asp.net-core - 如何设置具有不同子项到期时间的列表?
- angular - 使用 rxjs observable 从 REST 服务获取数据时,JxBrowser 无法呈现简单的 ag-grid 页面
- ios - DidReceiveNotificationRequest 没有被调用
- tensorflow - 对象检测 API (tensorflow) 中的 fp16 支持