はじめに
※ MATLAB、Python、Scilab比較ページはこちら
https://www.simulationroom999.com/blog/comparison-of-matlab-python-scilab/
Scilabに於ける、伝達関数使用方法を備忘録として残す。
最終的にはSimulinkに移植することにはなるが、トライアル&エラーの段階ではScilabで実験することが多い。
大量のパラメータと結果を一気に出せるので、ここでおおよその当りをつけてしまうとかなりの効率化となる。
使用関数
poly:多項式を定義
https://help.scilab.org/docs/6.1.0/ja_JP/poly.html
poly - 多項式を定義する
syslin:線形システムを定義
https://help.scilab.org/docs/6.1.0/ja_JP/syslin.html
syslin - 線形システムを定義する
csim:線形システムのシミュレーション (時間応答)
https://help.scilab.org/docs/6.1.0/ja_JP/csim.html
csim - 線形システムのシミュレーション (時間応答)
一次遅れ系
--> t=linspace(0,10,1000); // 時間(横)軸
--> step=zeros(1,1000); // 入力信号生成
--> step(1,500:1000)=1; // 5秒後に0から1へ
--> s=poly(0,'s'); // 多項式定義の準備
--> G=1/(1+s) // 記号"s"の多項式
G =
1
----
1 +s
--> sys=syslin('c',G); // 線形システム定義(連続系、線形状態空間表現)
--> y=csim(step,t,sys); // 連続系時間応答のシミュレーション
--> plot2d(t,y,rect=[0,-0.2,10,1.2]);
--> plot(t,step,"--b");
まとめ
PythonではMATLABのControl System Toolboxとの互換が見れたが、Scilabはそれらとは異なる使用方法となる。
※ MATLAB、Python、Scilab比較ページはこちら
コメント