0

一連のデータのエンベロープ (最大) 値をプロットしようとしています。私が必要とするのは、x 軸の値が増加するにつれて y 軸の最大値ではなく、x 軸の値が増加するにつれて最大点のみを結合するエンベロープまたはスペクトルです。私のデータは次のようになります。 ここに画像の説明を入力

x 軸の値が増加するにつれて最大の y 値を要求すると、次のようになります (x が昇順であるため、黒い線はすべてのデータの最大値です)。

ここに画像の説明を入力

しかし、x=30 までの次の最大点のみを結合し、次に下降する最大値 (x=30 から x=100 まで) を結合する線が必要です。私が必要とする曲線は滑らかで、データの値に従わず、次の最大値のみを結合する必要があります。次の曲線はエンベロープですが、絶対最大点の後でのみです。絶対最大点の左側では、エンベロープは目的のものではありません。 ここに画像の説明を入力

4

1 に答える 1

0

私の質問を(コメントとして)投稿した後、次のようにすると、あなたが望むことができると思います(ここでは、あなたが必要なものを理解したと仮定しています):

1) X 軸に沿った任意の点で、最大値を認識する方法を既に知っています。

2) (1) が正しい場合、次の場合に限り、最大値を考慮に入れます (つまり、エンベロープ カーブの一部にします)。

 a) All the points to the right are lower than the current maximum, and/or

 b) All the points to the left are lower than the current maximum.

直感的に、これは機能するはずです。

編集:

データが列 (たとえば、B と D の間、行 10 から 100 の間) に配置されていると仮定すると、セル E10 で次のように定義します。

  =IF(AND(MAX(B10,D10)>MAX(B9:D9),AND(MAX(B10,D10)>MAX(B11:D11)),MAX(B10,D10),"")

この式は、行 11 から 99 に極大値がある場合、または空白の場合に値になります。次に、数式を行 100 までドラッグしてください。

ただし、最初と最後のポイント (つまり、行 10 と 100) は間違った結果になる可能性があることに注意してください。これを防ぐには、これら 2 つの行の式を変更するだけです。

これがあなたが探していたものであることを願っています。

于 2016-06-27T11:23:35.330 に答える