2017.10.18この記事では、Python(SciPy+NumPy)を用いて、スライディングモード制御(極配置法)のシミュレーションを行う方法をソースコード付きで解説します。目次スライディングモード制御(極配置法)1切換超平面の設計2コントローラの設計ソースコード実行結果スライディングモード制御(極配置法)Pythonの数値計算ライブラリ「NumPy」「SciPy」を用いることで行列計算や常微分方程式の計算を簡単に行うことが出来ます。今回は、これらを用いて極配置法により設計した切換超平面をもつスライディングモード制御器のシミュレーションをやってみました。今回は以下のような1自由度振動系に対して切換超平面を設計します。1自由度振動系の状態方程式はつぎのように表すことができます。(1)この状態方程式は既に正準系の形をしているので、座標変換は行いません。等価制御系は(2)となります。ここで、等価制御系の極の個数は1なので(1入力2次系より)、その極を負に配置するようなFを求めてやれば状態を原点に漸近させる切換超平面は求まります。なるので求めたい超平面は(3)となります。次にコントローラ(制御入力)を設計します。次のように求まります。次のように求まります。次のように求まります。ソースコードサンプルプログラムのソースコードです。main()実行結果サンプルプログラムの実行結果です。ArticlesPython【Matplotlib】グラフに文字・数式を挿入この記事では、Python向けグラフ描画ライブラリ「Matplotlib」を用いて、グラフに文字・数式を挿入する方法を紹介します。Python【Python】実数乱数をある範囲内で生成この記事では、Python言語で実数乱数を指定した範囲で生成する方法をソースコード付きで解説します。Python【Python/SymPy】数式の簡約化Pythonモジュール「SymPy」で数式の簡約化を行う方法をソースコード付きで解説します。Python【Python/Pandas】移動平均で信号データのノイズを低減PythonモジュールPandasで移動平均を計算し、信号データのノイズを低減する方法についてソースコード付きでまとめました。計算する方法についてまとめました。numpy.linalg.normこの記事では、Python言語とNumPyを用いて、ベクトルのノルム(長さ)を求める方法をソースコード付きで解説します。(スーパークラス・サブクラス)この記事では、Python言語でクラス継承する方法とソースコードを解説します。Python【Pandas】データフレームのデータ型を取得この記事では、Python用データ分析モジュール「Pandas」でデータフレームにのデータ型(タイプ)を取得する方法をソースコード付きで解説します。Python【Python/beautifulsoup4】サイト内の全ての画像ファイルを自動ダウンロードPython用Webスクレイピングモジュール「beautifulsoup4」でサイト内の全ての画像ファイルを自動ダウンロードする方法についてソースコード付きでまとめました。(ポータブル化)定番のPython環境「Miniconda」をポータブル化する方法についてまとめました。する方法とソースコードを解説します。Python【Pandas】データフレームからラベルの値を取得この記事では、PythonモジュールPandasで、指定したラベル(カラム)にある全ての値を取り出す方法をソースコード付きで解説します。Python【Pandas】データフレームの合計値この記事では、Python用データ分析モジュール「Pandas」でデータフレームの合計値を求める方法をソースコード付きで解説します。SVM識別器(分類器)を実装し、画像から人を検出する方法をソースコード付きで解説します。Python【NumPy】重回帰分析(多変量解析)この記事では、Python言語とNumPyを用いて、重回帰分析(多変量解析)をする方法をソースコード付きで解説します。Python【Python/Keras】簡単なニューラルネットモデルの構築Pythonの機械学習モジュール「Keras」で簡単なニューラルネットモデルを構築する方法をソースコード付きで解説します。Python【NumPy】主な特徴(メリット・デメリット)この記事では、Python定番の数値計算ライブラリ「NumPy」を学習・利用する主な特徴とメリット(利点)を解説します。Python【NumPy】2次元配列の生成(numpy.array)この記事では、Python言語とNumPyを用いて、2次元配列を生成する方法をソースコード付きで解説します。コメントをキャンセルメールアドレスが公開されることはありません。(FFT)で振幅スペクトルを計算2018.10.062020.01.25【Pygame入門】ゲームプログラミング【Python】2020.01.14【Python/OpenCV】赤・緑・青色の検出(HSV色空間)2019.08.26【WinPython】使い方・設定まとめ2019.01.222019.10.14【Python/OpenCV】グレースケール変換(cv2.cvtColor)2017.01.252020.01.27【Matplotlib】散布図の点の大きさ2017.02.24【Python/OpenCV】ガウシアンフィルタでぼかし・平滑化2019.11.082019.11.10【Python】C言語との記述法の違いを比較2017.09.072018.09.03【Python/OpenCV】大津の手法で二値化処理2019.11.05【Python/OpenCV】RGBからHSVに変換(cv2.cvtColor)2019.08.252020.01.27【NumPy】実数→整数(四捨五入・切り捨て・切り上げ)2017.09.17【NumPy】配列の大きさ(行数・列数)を取得2017.01.302019.05.05【NumPy】高速フーリエ変換とローパスフィルタでノイズ除去2020.01.202020.01.25タイトルとURLをコピーしました。