【问题标题】:Turning frequency table into raw data in matlab在matlab中将频率表转换为原始数据
【发布时间】:2021-11-17 20:41:45
【问题描述】:

我有一个 2 列矩阵:第 1 列有事件(以整数的形式),第 2 列计算这些事件发生的频率。我想把它变成原始数据,实际上是tabulate() 的倒数。 IE。转[0 4; 1 2; 2 2; 3 1; 4 0] 到 [0 0 0 0 1 1 2 2 3]。有任何想法吗?干杯。

【问题讨论】:

  • 请澄清您的具体问题或提供其他详细信息以准确突出您的需求。正如目前所写的那样,很难准确地说出你在问什么。

标签: arrays matlab


【解决方案1】:

如果你有

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]

使用.' 作为可选参数,将结果从列转置为行。

【讨论】:

  • 太棒了!感谢那只狼的一百万
  • @Matt 如果答案完全解决了您的问题,请考虑将其标记为已接受(绿色勾号)
猜你喜欢
  • 1970-01-01
  • 2016-12-18
  • 1970-01-01
  • 2013-10-26
  • 2013-03-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-11-02
相关资源
最近更新 更多