【问题标题】:Plotting histogram of a slice of a matrix绘制矩阵切片的直方图
【发布时间】:2015-07-31 09:28:53
【问题描述】:

我有一个矩阵amp,其中包含 10 个行信号[1*1001]。所以我的数据的总维度是[10*1001]

每一行都包含幅度波动(信号)。现在通过使用plot(f,abs(amp)),我在长度为[1*1001]f 向量上绘制所有10 个信号。
这个f 向量是一个从 70 到 110 kHz 的频率轴。

这是我正在绘制的图表。

figure,plot(f2,abs(amp));
xlabel('Frequency in KHz');ylabel('amp');

现在我想要一个 90Khz 的直方图,这意味着在特定的 90KHz 频率下,所有 10 个信号的幅度都在变化多少?

【问题讨论】:

  • 能否在代码中提供一些示例数据?你问什么并不明显。
  • 您需要提供样本数据和图片
  • NKN 和丹,感谢您的 cmets。我有 10 个信号(即 10 行),长度为 1*1001。所以我的数据的总维度是[10*1001]。现在每一行都包含幅度波动(信号)。现在通过使用 plot(f,abs(amp)),我在长度为 [1*1001] 的 f 向量上绘制所有 10 个信号。此外,这个 f 向量是一个频率轴,频率从 70 到 110 KHz 开始。现在我想要一个 90Khz 的直方图,这意味着在特定的 90KHz 频率下,所有 10 个信号的幅度都在变化。
  • 没有样品和图片,你解释的内容并不多。
  • 请编辑您的原始帖子并添加新信息,而不是在 cmets 中写入。

标签: matlab histogram data-processing


【解决方案1】:

有点难以理解您的问题,但听起来您想要 f = 90 KHz 附近的行数据的直方图。如果这是真的,我认为这应该可行:

%find the f2 value closest to 90000: 
[f0, index] = min(abs(f2-90000));

%make a histogram of the data:
histogram(amp(:,index),10);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-06-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多