カットオフ周期信号の中心線


0

私が求めているのは、この波の中心線、つまり0です。

たとえば、Matlabの簡単な例として、以下のコードを実行します。これは、数周期の単純な正弦波をプロットします。

x = linspace(0,7.5*pi,100); y = sin(x); plot(x,y); mean(y)

enter image description here

結果(そして問題)は、 mean(y) 0ではなく、0.0368です。 しかし、私はもちろん0付近で振動する正弦波をプロットしています。

どうやってこれらの種類の平均を正しく計算できますか(ピリオドを正しくするために各信号を手動でプロットして実際に調べる必要はありません)。


この質問は工学とは関係ありません。
Wasabi

信号はCFDソルバー出力なので、応用工学の背景からのものです。
fragmachine

1
あなたは「2、3の期間」の間、しかし3.75の期間のために波をプロットしていません。平均値を「期待したもの」にしたい場合は、それをプロットして コンプリート 余分なビットが最後に付いていない期間。周波数がわからない場合は、時間領域でデータのFFTを作成してください。
alephzero

基本的な正弦波よりも実際の信号を表示する方がはるかに良いでしょう。あなたの例からは明らかではありませんA)なぜあなたはゼロからのオフセットを期待するのか、B)なぜあなたは単純に最大と最小のY値を平均していないのですか。
Air

回答:


1

あなたが説明する問題はあなたが数値でベクトルの平均を計算するという事実から来ます。 $ \ sin(x)$または他の関数の正確な平均を計算するためには、(必ずしも正確ではないMATLABシンボリックツールボックス、MATLABのMupad、Maple、Mathematica、Pythonのsympyパッケージ)のようなコンピュータ代数システムを使うべきです。

もう1つの問題は、$ 0 $から$ 7.5 \ pi $までの区間で$ \ sin(x)$の平均を計算することです。これは実際には$ 0 $の値をあなたに与えてはいけません。

$ a $から$ b $までの区間における関数$ f(x)$の平均$< f(x)> $は、次のように与えられます。 $$< f(x)> _ {[a、b]} = \ frac {1} {b-a} \ int_ {a} ^ {b} f(x)dx

あなたの問題のためにこれはにつながる:

$$< \ sin(x)> _ {[0,7.5 \ pi]} = \ frac {1} {7.5 \ pi-0} \ int_ {0} ^ {7.5 \ pi} \ sin(x) dx = \ frac {1} {7.5 \ pi} \ left [\ cos(7.5 \ pi) - \ cos(0)\ right] \約\ frac {12} {90 \ pi} \約0.04244 ... $ $

これがMATLABコードです。

syms x;
1/(7.5*pi-0)*int(sin(x), x, 0, 7.5*pi)

MATLABは奇妙な分数を使用しているため、平均値が正確ではないことに注意してください。

100%の精度を気にしないのなら、もっとポイントを使うこともできます。

mean(sin(linspace(0,7.5*pi,100000)))

あなたの答えをありがとう、しかし問題は私が正確に間隔の範囲を知らないということです! 0から7.5 * piは単なる例ですが、1.5から11.85 * piであった可能性があります。はい、計算された平均は正しいですが、私たち(人間として)は、信号が0付近で振動しているのがわかります。
fragmachine

1
いいえ、私たち人間は信号が0付近で振動していることを認識していません、あなたは平均値がある値を持っていると推測しています。実際には、単純なプロットから平均値を推定することはできません。正確な平均値は何でも構いません。そしてあなたの関数の平均値は$ 0 $ではありません。平均値を計算したい関数の期間にわたって平均している場合、平均値はわずか$ 0 $です。
MrYouMath

@fragmachine検査で見つけたことについて話している価値は、プロットの平均ではありません。限界が無限大に近づくにつれて、プロットの平均の限界になるかもしれませんが、それはまったく別のことです。探しているものは、 オフセット 波の 中心線 波の 中立線 波の。用語は正確ではありません。特に「オフセット」は「位相シフト」を意味するためによく使用されます。 "vertical offset"と言ってください。 必要 平均値か他の値か、多分あなたは明確にすることができますか?
Air

1
@エアはい、波の中心線はまさに私が意味するものであり、必要なものです。この場合の「平均値」は、この波の中心線に対する単なる近似値です。どういうわけかFFTを使って中心線を決定することも考えていましたが、これがどのように機能するのかまだわかりません。
fragmachine

@ fragmachine:これは別の質問です。これを新しい質問として投稿してください。
MrYouMath

0

計算全体を象徴的にして、特定の範囲の計算を延期することができます。

mean=Integrate[Sin[x],{x,xmin,xmax}]/(xmax-xmin)

(-Cos [xmax] + Cos [xmin])/(xmax-xmin)

$ 0 $から$ 7.5 \ pi $へ

mean/.{xmin->0,xmax->7.5 \[Pi]}

0.0424413

enter image description here

$ 1.5 \ pi $から$ 11.85 \ pi $まで

mean /. {xmin -> 1.5 \[Pi], xmax -> 11.85 \[Pi]}

-0.0274025

enter image description here

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.