【问题标题】:How to count number of peaks in graph ? -graph analysis-如何计算图中的峰值数量? -图形分析-
【发布时间】:2018-09-21 13:41:30
【问题描述】:

我的这条曲线包含某些峰 - 我想知道如何获得这些峰的数量。

样本数据:

0.10    76792
0.15    35578
0.20    44675
0.25    52723
0.30    27099
0.35    113931
0.40    111043
0.45    34312
0.50    101947
0.55    100824
0.60    20546
0.65    114430
0.70    113764
0.75    15713
0.80    83133
0.85    79754
0.90    17420
0.95    121094
1.00    117346
1.05    22841
1.10    95095
1.15    94999
1.20    18986
1.25    111226
1.30    106640
1.35    34781
1.40    66356
1.45    68706
1.50    21247
1.55    117604
1.60    114268
1.65    26292
1.70    88486
1.75    89841
1.80    49863
1.85    111938

第一列是 X 值,第二列是 y 值。

我想编写一个宏或公式来告诉我该图中有多少个峰值。

注意:这个图实际上是从 matlab 绘制和导出的,所以如果有一种方法可以告诉我的代码从 matlab 为我做这件事,那也很棒!

【问题讨论】:

标签: excel excel-formula vba


【解决方案1】:

如果您的数据在 A1:B36 中,那么这个公式 =SUMPRODUCT(--(B2:B35>B1:B34),--(B2:B35>B3:B36))
返回 11 个峰值

它检查是否

  • B2 高于 B1 和 B3,如果是,则将其视为峰值
  • 那么如果B3 高于B2B4,则将其视为峰值,以此类推

[更新:添加了 VBA 请求]

Sub GetMax()
    Dim chr As ChartObject
    Dim chrSeries As Series
    Dim lngrow As Long
    On Error Resume Next
    Set chr = ActiveSheet.ChartObjects(1)
    Set chrSeries = chr.Chart.SeriesCollection(1)
    On Error GoTo 0

    If chrSeries Is Nothing Then Exit Sub

    For lngrow = 2 To UBound(chrSeries.Values) - 1
        If chrSeries.Values(lngrow) > chrSeries.Values(lngrow - 1) Then
            If chrSeries.Values(lngrow) > chrSeries.Values(lngrow + 1) Then
                chrSeries.Points(lngrow).ApplyDataLabels
                With chrSeries.Points(lngrow).DataLabel
                    .Position = xlLabelPositionCenter
                    .Border.Color = 1
                End With
            End If
        End If
    Next
End Sub

【讨论】:

  • 惊人的答案,我真的很感激,但是是否有可能像您的示例中那样让图形指向峰值??
  • 我有另一个关于同一主题的问题 :) !stackoverflow.com/questions/8994141/…
  • 解释完全有道理,但是当我尝试 Excel (2010) 抱怨公式时。 (公式错误) - 任何线索?
猜你喜欢
  • 2012-10-19
  • 1970-01-01
  • 2022-11-02
  • 2023-03-30
  • 1970-01-01
  • 1970-01-01
  • 2019-04-05
  • 2018-05-19
  • 2021-09-07
相关资源
最近更新 更多