スマホ・パソコン ツール 制御工学 機械工学

Scilabでベクトル軌跡を描いてみる

制御工学でのシミュレーションとして、ベクトル軌跡を描くときにはMATLABを使うのが一般的ですが、コストがかかるため趣味程度で遊ぶには敷居が高いです

ScilabはMATLABに似た機能を持つソフトで、無料で使用することができるので気安く使えます

今回はScilabでベクトル軌跡を描く方法について説明していきます

 

シンプルなベクトル軌跡の描き方

伝達関数\(G(s)\)を以下のようにします

$$G(s) = \frac{1}{s^2 + s + 1}$$

最もシンプルに描く方法は以下の通りになります

 

 

 

nyquist()関数は、ナイキスト線図を描くときの関数です

ここで、ナイキスト線図とベクトル線図を比較してみると

・ナイキスト線図は、角周波数\(\omega\)を\(-\infty \rightarrow \infty\)まで変化させるときの周波数伝達関数の軌跡

・ベクトル軌跡は、角周波数\(\omega\)を\(0 \rightarrow \infty\)まで変化させるときの周波数伝達関数の軌跡

であるから、角周波数の最少値を変更する必要があります

nyquist()関数の第2,3引数に角周波数の最小値と最大値を設定し、さらに第4引数に関して

実はnyquist()関数,symmetry引数というものを取ることができ,これはグラフの対称性を指定する引数になっています.デフォルト(値を指定しない)では,%tとなっており,上下対称のグラフを描く仕様になっています.(この%tはtrueのt)なので,周波数が正の範囲だけを描画させたいときはsymmetry引数をfalseにしてあげる必要があります

引用:【制御工学】Scilabを使ってナイキスト線図(ベクトル軌跡)を描いてみた!

とのことなので、以下のように記述すれば、\(\omega\)の範囲を\(0 \rightarrow 10^{5}\)までに設定できます

 

分母がsの多項式でない場合

比例要素、微分要素、一次進み要素の伝達関数\(G_{1}(s)~,~G_{2}(s)~,~G_{3}(s)\)はそれぞれ

$$\begin{align*}
G_{1}(s) &= K\\
G_{2}(s) &= s\\
G_{3}(s) &= 1+Ts
\end{align*}$$

であり、分母は1になっています

そのままGsに代入してしまうと、エラーになってしまいます

 

 

そのようなときは、分母に\(s^{0}\)を付けて以下のように記述します

 

複数のベクトル軌跡を重ね合わせて描く

複数のベクトル軌跡を重ね合わせて描く場合には、以下のように記述します

 

 

色分けはソフトが行ってくれます

 

まとめ

今回は、Scilabでのベクトル軌跡の描き方について簡単に説明しました

Scilabはネット上に日本語の情報が少ないですが、制御シミュレーションで遊ぶにはこのソフトはおすすめです

ぜひ使ってみてください

 

Scilabでのボード線図の描き方についての記事はこちらになります

Scilabでボード線図を描いてみる

続きを見る

-スマホ・パソコン, ツール, 制御工学, 機械工学

Copyright© どめブログ , 2024 All Rights Reserved.