2022-07-01から1ヶ月間の記事一覧

PythonでCFF-RLS(Constant Forgetting Factor - Recursive Least Square: 忘却機能つき逐次最小二乗法)アルゴリズムを実装する

今回はPythonで忘却機能つきのRLSアルゴリズムを実装してみます。 以前本ブログで書いたRLSアルゴリズムに忘却機能をつけたものですね。 RLSアルゴリズムは値が振動せず収束してくれるという特徴がありますが、例えば推定しようとするシステムが時変であり追…

PythonでRLSアルゴリズムを実装する

今回はPythonでRLSアルゴリズムを実装してみます。 以前の記事で取り扱ったLMSアルゴリズムと同じく適応フィルタの一種です。 LMSアルゴリズムより計算量は多く、また使える場面も限られますが、値が振動せず収束してくれるというメリットがあります。 今回…

Rust でファイル名の一部を変えたPathBufを作りたい時の方法

今回はタイトルの通り、「Rust でファイル名の一部を変えたPathBufを作りたい時の方法」について備忘を兼ねて書いていきます。 例えばファイルを入力して処理し、それを別のファイル名に保存したい時(例を出すと、"plain.txt"のようなファイルに暗号化をし…

PythonでLMSアルゴリズムを実装する

今回はPythonでLMSアルゴリズムを実装してみます。 LMSアルゴリズムとは適応フィルタの一種で、ノイズキャンセリングなどに応用されているようなものです。 今回は、システムのパラメータを逐次同定するという課題設定のもとで実装をしました。 コードは以下…

PythonのPuLPでナップザック問題を解く

今回はPythonのPuLPでナップザックを解いてみようかと思います。 PuLPとは数理最適化の問題を解くためのライブラリであり、このライブラリを使うととても簡単な記述で数理最適化の問題を解くことができるようになります。 そのPuLPで問題設定をい記述する際…

Rustのfor文で数を1ずつ増やすのではなく2ずつ増やしたい(1つ飛ばしにしたい)場合の方法

今回の話は、私が「これどうやるんだろう?」と調べても中々出てこなかった内容でようやく解決したので備忘も兼ねて記します。 例えば、Rustのfor文は for i in 0..10 { // something } のように書き、この時 iは「0, 1, 2, ..., 10」のように1ずつ増えてい…