軌跡平滑化法-滑り平均平滑化法(移動平均法)
2022-02-13 07:23:26
参考記事 https://blog.csdn.net/Dangkie/article/details/53311516
Pythonの実装コード:以下は7点2回MAアルゴリズムです。
実験結果
from matplotlib import pyplot as plt
import numpy as np
x = np.linspace(1, 30, 30) # X-axis data
# raw data
a = [1, 2, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 12, 13, 11, 12, 14, 18, 19, 21, 22, 22, 23, 24, 25, 26, 27, 28, 29]
y1 = np.array(a)
# 7 points 2 times MA smoothing
def MovingAverage(input):
output = {}
print(input)
size = len(input)
print(size)
i = 0
output[0] = (32.0 * input[0] + 15.0 * input[1] + 3.0 * input[2] - 4.0 * input[3] - 6.0 * input[4] - 3.0 * input[
5] + 5.0 * input[6]) / 42.0
output[1] = (5.0 * input[0] + 4.0 * input[1] + 3.0 * input[2] + 2.0 * input[3] +
input[4] - input[6]) / 14.0
output[2] = (1.0 * input[0] + 3.0 * input[1] + 4.0 * input[2] + 4.0 * input[3] +
3.0 * input[4] + 1.0 * input[5] - 2.0 * input[6]) / 14.0
for i in range(3, size - 3):
output[i] = (-2.0 * (input[i - 3] + input[i + 3]) + 3.0 * (input[i - 2] + input[i + 2]) + 6.0 * (
input[i - 1] + input[i + 1]) + 7.0 * input[i]) / 21.0
output[size - 3] = (1.0 * input[size - 1] + 3.0 * input[size - 2] + 4.0 * input[size - 3] + 4.0 * input[
size - 4] + 3.0 * input[size - 5] + 1.0 * input[size - 6] - 2.0 * input[size - 7]) / 14.0
output[size - 2] = (5.0 * input[size - 1] + 4.0 * input[size - 2] + 3.0 * input[size - 3] + 2.0 * input[size - 4] +
input[size - 5] - input[size - 7]) / 14.0
output[size - 1] = (32.0 * input[size - 1] + 15.0 * input[size - 2] + 3.0 * input[size - 3] - 4.0 * input[
size - 4] - 6.0 * input[size - 5] - 3.0 * input[size - 6] + 5.0 * input[size - 7]) / 42.0
return output
output = list(MovingAverage(a).values())
print(output)
out = np.array(output)
# Plot scatter plot Define scatter size, color, transparency
plt.scatter(x, out, s=75, color="blue", alpha=1)
plt.scatter(x, y1, s=75, color="red", alpha=1)
# Set the x y axis range
plt.xlim(0, 30, 30)
plt.ylim(0, 30, 30)
plt.show()
関連
-
AttributeError: 'module' オブジェクトには 'SSL_ST_INIT' という属性がありません。
-
Python error TypeError: must be str, not bytes
-
TypeError: JSONオブジェクトは'TextIOWrapper'ではなく'str'である必要があります。
-
穴の中 TypeError: サポートされていないオペランドタイプ(s) for /: str' と 'int' です。
-
Python3-ValueError:not enough values to unpack (expected 2, got 0)
-
python error AttributeError: 'DataFrame' object has no attribute 'tolist'.
-
Pythonライブラリ問題初級編 - 解決策:numpy frombuffer - AttributeError: 'str' object has no attribute '__buffer__'
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
ハートビート・エフェクトのためのHTML+CSS
-
HTML ホテル フォームによるフィルタリング
-
HTML+cssのボックスモデル例(円、半円など)「border-radius」使いやすい
-
HTMLテーブルのテーブル分割とマージ(colspan, rowspan)
-
ランダム・ネームドロッパーを実装するためのhtmlサンプルコード
-
Html階層型ボックスシャドウ効果サンプルコード
-
QQの一時的なダイアログボックスをポップアップし、友人を追加せずにオンラインで話す効果を達成する方法
-
sublime / vscodeショートカットHTMLコード生成の実装
-
HTMLページを縮小した後にスクロールバーを表示するサンプルコード
-
html のリストボックス、テキストフィールド、ファイルフィールドのコード例