Blog趣味のプログラミング、ギター、音楽とかとかこの広告は、90日以上更新していないブログに表示しています。2018-04-14Sympyで回路方程式を解いて伝達関数を求めるPython代数演算をソフトウェアにやらせるというと、MathematicaやMaximaが思い浮かびますが、今回はPythonのSympyを使ってみました。SymPySympyはAnacondaに収録されています。notebook上で利用すると快適です。qiita.com2段オペアンプを想定した、下図のような小信号等価回路から回路方程式を立てて、伝達関数を導出させます。回路図はフリーのWebアプリdraw.ioで描きました。SoftwareJupyterでSympyを利用する上で、まずモジュールをすべてインポートし、数式描画のための初期化メソッドinit_printing()を実行します。*init_printing()symbols()で変数記号を定義し、キルヒホッフの電流則に基いてV1ノードとVoutノードでそれぞれ方程式を立てます。s*Cc*(Vout-V1)solve()でeq1とeq2を連立させて、VoutとV1を求めます。solveは辞書形式で解を返すので、Voutを取り出してVinで割ることで、伝達関数の形にしています。ここでは、expand()で複素数sについて展開、simplify()で整形、collect()でsについて式を整理するところまで、一行で処理しています。notebook上で、下図のようにきれいに整理された伝達関数が求まりました。(3)はてなブログをはじめよう!necophysさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。